Retrofit 2에서 API 끝점을 사용하고 있는데 Call
개체에서 응답 개체 유형을 변경하고 싶습니다. 요청을 취소 할 수 있도록 Call
개체를 사용해야합니다.Call 개체의 응답 유형 변경
이 동작은 rxJava를 사용하면 쉽게 수행 할 수 있습니다. 예를 들어 Account 객체를 반환하는 끝점이 있지만 전자 메일 객체를 반환하려고한다고 가정 해 보겠습니다.
public Observable<Email> getEmail(Account account) {
return service.getUser().map(new Func1<Account, Email>() {
@Override public Email call(Account account) {
return new Email(account.getEmail());
}
});
}
곳 getUser()
반품 및 Observable<Account>
: rxJava으로 내가 좋아하는 뭔가를 할 수 있습니다.
그러나 call.enqueue
은 이러한 종류의 연결을 허용하지 않는 것 같습니다. 요청을 취소 할 수 있도록 rxJava 대신 Call<Email>
을 사용하여 위의 작업을 수행 할 수 있습니까?