तो मैं पहले से ही जब लॉगिन समस्याओं के बिना किया जाता है Json से एक टोकन प्राप्त करते हैं, और हैशरेट्रोफिट 2 + Rxjava से निपटने त्रुटि
प्राप्त लेकिन जब सर्वर से प्रतिक्रिया त्रुटि है, तो मैं Json नहीं मिल सकता है संदेश ({संदेश: "त्रुटि: गलत ईमेल}" क्योंकि onError में हम केवल एक फेंकने योग्य और नहीं एक मॉडल वर्ग तर्क के रूप में मिलता है मैं कैसे सर्वर onError ??
से एक json संदेश प्राप्त कर सकते हैंपर में चाहते
final Observable<TokenResponse> observable = Service.login(userCredentials);
observable.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<TokenResponse>() {
String error="";
@Override
public void onCompleted() {
mLoginView.whenLoginSucess();
}
@Override
public void onError(Throwable e) {
if (e instanceof HttpException) {
HttpException exception = (HttpException) e;
Response response = exception.response();
Converter<ResponseBody, ErrorFromServer> converter = new GsonConverterFactory()
.responseBodyConverter(ErrorFromServer.class, Annotation[0]);
ErrorFromServer error = converter.convert(response.errorBody());
}
mLoginView.errorText(error);
e.printStackTrace();
}
@Override
public void onNext(TokenResponse tokenResponse) {
SharedPreferences.Editor editor = sharedP.edit();
editor.putString("hash", tokenResponse.getToken());
editor.commit();
//getString return key value "hash" if there is no value, returns null
hash = sharedP.getString("hash",null);
}
});
टोकन रेस्पॉन्स कोड
public class TokenResponse {
@SerializedName("hash")
@Expose
private String token;
@SerializedName("message")
@Expose
private String message;
public String getMessage() {return message;}
public String getToken() {
return token;
}
}
'प्रतिक्रिया.कोई() 'की जांच करें? –
मेरा नया उत्तर देखें –