I create retrofit2 service:
@POST("getTransactions/{page}")
Single<List<TransactionItem>> getTransactions(@Body TransactionRequest transactionRequest, @Path("page") int page);
And try implement it in my Presenter:
private class TransactionsHandler implements SingleObserver<List<TransactionItem>> {
@Override
public void onSubscribe(Disposable d) {
callView(TransactionsFragment::showProgress);
}
@Override
public void onSuccess(List<TransactionItem> transactionItems) {
//update UI
}
@Override
public void onError(Throwable e) {
//show error on UI
}
}
But in onError
method I can get only Throwable
.
In backend side I implement custom error and return it to android. For examle:
@Data
@AllArgsConstructor
private static class EmailException {
private String message;
}
return new ResponseEntity<>(new EmailException("Email not sended"), HttpStatus.INTERNAL_SERVER_ERROR);
But I can not get this errorBody
from Throwable
. How can I implement my custom error.