Здравствуйте.
Есть сайт, где авторизация происходит путем Post запроса с передачей логина и пароля.
Правильно ли так обрабатывать исключения в связке Retrofit и RXJava:
apiService.login возвращает Observable ResponseBody
apiService.login(login, pass)
.map(responseBody -> {
try {
return responseBody.string();
} catch (IOException e) {
e.printStackTrace();
}
return "";
})
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(s -> System.out.println(s));
интерфейс
@FormUrlEncoded
@POST("/login.php")
Observable<ResponseBody> login(
@Field("login") String login,
@Field("pass") String pass);
public SiteService(Context context) {
cookieJar = new PersistentCookieJar(new SetCookieCache(), new SharedPrefsCookiePersistor(context));
okHttpClient = new OkHttpClient.Builder()
.cookieJar(cookieJar)
.build();
client = new Retrofit.Builder()
.baseUrl(BASE_URL)
.client(okHttpClient)
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.build();
apiService = client.create(SiteApi.class);
}
public Observable<ResponseBody> login(String login, String pass){
return apiService.login(login, pass);
}
Спасибо.