0
votes

i am using aurae/retrofit-logansquare to parse json in my android retrofit project. i am getting following error

E/AndroidRuntime: FATAL EXCEPTION: main Process: com.dlv.dlv, PID: 5922 java.lang.IllegalArgumentException: Unable to create converter for class com.dlv.dlv.UserResponseInfo for method UserApi.verifyUser at retrofit2.ServiceMethod$Builder.methodError(ServiceMethod.java:720) at retrofit2.ServiceMethod$Builder.createResponseConverter(ServiceMethod.java:706) at retrofit2.ServiceMethod$Builder.build(ServiceMethod.java:167) at retrofit2.Retrofit.loadServiceMethod(Retrofit.java:166) at retrofit2.Retrofit$1.invoke(Retrofit.java:145) at java.lang.reflect.Proxy.invoke(Proxy.java:813) at $Proxy0.verifyUser(Unknown Source) at com.dlv.dlv.RestApi.verifyUser(RestApi.java:156) at com.dlv.dlv.DlvActivity$1.onClick(DlvActivity.java:52) at android.view.View.performClick(View.java:5610) at android.view.View$PerformClick.run(View.java:22265) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6077) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) Caused by: java.lang.IllegalArgumentException: Could not locate ResponseBody converter for class com.dlv.dlv.UserResponseInfo. Tried: * retrofit2.BuiltInConverters * com.github.aurae.retrofit2.LoganSquareConverterFactory at retrofit2.Retrofit.nextResponseBodyConverter(Retrofit.java:346) at retrofit2.Retrofit.responseBodyConverter(Retrofit.java:308) at retrofit2.ServiceMethod$Builder.createResponseConverter(ServiceMethod.java:704) ... 16 more

Application terminated.

build gradle (module:app)
compile 'com.squareup.retrofit2:retrofit:2.1.0' compile 'com.bluelinelabs:logansquare:1.3.6' compile 'com.github.aurae.retrofit2:converter-logansquare:1.4.1'

2

2 Answers

5
votes

One of the reason could be that you are using same name inside @SerializedName() for more than one field.

0
votes

yes, that's because of sometimes we serialized filed with already existing fields for example

 `@SerializedName("user_name")
    @Expose
    private String avartar;`

and I already have private String username;