android - NullPointerException in converting retrofit response to string? -
this retrofit class
public class apiclient { public static final string base_url = appconstants.base_url; private static retrofit retrofit = null; public static retrofit getclient() { if (retrofit == null) { retrofit = new retrofit.builder() .baseurl(base_url) .addconverterfactory(gsonconverterfactory.create()) .build(); } return retrofit; } public interface registerapi { @post(appconstants.login_page) call<jsonobject> getlogin(@body jsonobject loginparams); } }
this retrofit request
jsonobject loginparams = ((mainactivity) getactivity()).requestparams.getloginparams(etusername.gettext().tostring(), etpassword.gettext().tostring()); apiclient.registerapi apiservice = apiclient.getclient().create(apiclient.registerapi.class); call<jsonobject> call = apiservice.getlogin(loginparams); call.enqueue(new callback<jsonobject>() { @override public void onresponse(call<jsonobject> call, response<jsonobject> response) { log.e("response", response.body().tostring()); } @override public void onfailure(call<jsonobject> call, throwable t) { } });
while converting response string null pointer
java.lang.nullpointerexception @ com.vfirst.ifbagro.login.loginfragment$1.onresponse(loginfragment.java:96) @ retrofit2.executorcalladapterfactory$executorcallbackcall$1$1.run(executorcalladapterfactory.java:68) @ android.os.handler.handlecallback(handler.java:730) @ android.os.handler.dispatchmessage(handler.java:92) @ android.os.looper.loop(looper.java:137) @ android.app.activitythread.main(activitythread.java:5214) @ java.lang.reflect.method.invokenative(native method) @ java.lang.reflect.method.invoke(method.java:525) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:739) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:555) @ dalvik.system.nativestart.main(native method)
try logging response.body()
first see if not null.
if using okhttpclient
can add interceptor , log response, guaranteed work:
public response intercept(chain chain) throws ioexception { request.builder builder = chain.request().newbuilder(); // add custom headers etc builder .... request request = builder.build(); response response = chain.proceed(request); string body = response.body().string() ....
Comments
Post a Comment