-
public class HttpResponse.Companion
-
-
Field Summary
Fields Modifier and Type Field Description public final static HttpResponse.CompanionINSTANCE
-
Method Summary
Modifier and Type Method Description final <T extends Any> Flow<HttpResponse<T>>valueOf(SuspendFunction0<Response<T>> call)Response를 반환하는 메서드를 전달받아 HttpResponse 타입의 Flow로 변환합니다. final <T extends Any> Flow<HttpResponse<Unit>>valueOfWithEmpty(SuspendFunction0<Response<T>> call)Response를 반환하는 메서드를 전달한 뒤, Unit을 포함한 HttpResponse 타입의 Flow로 변환합니다. final <T extends Any> Flow<HttpResponse<T>>valueOfWithNull(SuspendFunction0<Response<T>> call)Nullable한 Response를 반환하는 메서드를 전달받아 HttpResponse 타입의 Flow로 변환합니다. final <Dto extends BaseDto<Model>, Model extends Any> Result<Model>to(HttpResponse<Dto> httpResponse)BaseDto를 포함하고 있는 HttpResponse 타입을 Result로 변환합니다.final <Dto extends BaseDto<Model>, Model extends Any> Result<List<Model>>toWithList(HttpResponse<List<Dto>> httpResponse)BaseDto를 포함하고 있는 HttpResponse 리스트 타입을 Result 리스트로 변환합니다.final <In extends Any, Out extends Any> Result<Out>to(HttpResponse<In> httpResponse, Function1<In, Out> mapper)HttpResponse 타입을 Result로 변환합니다. -
-
Method Detail
-
valueOf
final <T extends Any> Flow<HttpResponse<T>> valueOf(SuspendFunction0<Response<T>> call)
Response를 반환하는 메서드를 전달받아 HttpResponse 타입의 Flow로 변환합니다.
- Parameters:
call-Response타입의 반환 값을 전달받아야만 합니다.
-
valueOfWithEmpty
final <T extends Any> Flow<HttpResponse<Unit>> valueOfWithEmpty(SuspendFunction0<Response<T>> call)
Response를 반환하는 메서드를 전달한 뒤, Unit을 포함한 HttpResponse 타입의 Flow로 변환합니다. Response에 상관 없이, Unit을 반환하고 싶은 경우에 사용할 수 있습니다.
예를 들어,
HEAD메서드와 같이 특정한 반환 값이 없는 경우 사용합니다.interface MockService { @HEAD("mock") suspend fun head(): Response<Void> }서비스가 위와 같이 정의되었다고 가정 하였을 때, HttpResponse 인터페이스를 생성하는 방법은 아래와 같습니다.
val response = HttpResponse.createEmpty { networkResponse }
-
valueOfWithNull
final <T extends Any> Flow<HttpResponse<T>> valueOfWithNull(SuspendFunction0<Response<T>> call)
Nullable한 Response를 반환하는 메서드를 전달받아 HttpResponse 타입의 Flow로 변환합니다.
- Parameters:
call-Response형태의 반환 값을 전달받아야만 합니다
-
to
final <Dto extends BaseDto<Model>, Model extends Any> Result<Model> to(HttpResponse<Dto> httpResponse)
BaseDto를 포함하고 있는 HttpResponse 타입을 Result로 변환합니다. 추가적인 매핑 과정이 없는 상황에서 네트워크 레이어의 DTO 데이터를 빠르게 도메인 모델로 변경 하고자 할 때 사용합니다.
-
toWithList
final <Dto extends BaseDto<Model>, Model extends Any> Result<List<Model>> toWithList(HttpResponse<List<Dto>> httpResponse)
BaseDto를 포함하고 있는 HttpResponse 리스트 타입을 Result 리스트로 변환합니다. 추가적인 매핑 과정이 없는 상황에서 네트워크 레이어의 DTO 데이터를 빠르게 도메인 모델로 변경 하고자 할 때 사용합니다.
-
-
-
-