What I do:
I send a POST request to the server using Retrofit 1.9.
API:
@FormUrlEncoded @POST("/auth/registration") void register( @Field("name") String name, @Field("surname") String surname, @Field("password") String password, Callback<RegisterResponseNew> response); Sending request:
RestWorker.getInstance().register( "Name", "LastName", "pass", new Callback<RegisterResponseNew>() { @Override public void success(RegisterResponseNew registerResponseNew, Response response) { } @Override public void failure(RetrofitError error) { } }); In response, I should get this JSON:
{ "status": "stat", "status_code": "000", "data": { "name": [ "some name" ] } } Here are my POJOs:
public class RegisterResponseNew { @SerializedName("status") private String status; @SerializedName("status_code") private String statusCode; @SerializedName("data") private RegisterDataNew data; } public class RegisterDataNew { @SerializedName("name") @Expose private String name; } Problem:
The request is permanently failure, but if removed from the RegisterResponseNew class
@SerializedName("data") private RegisterDataNew data; Then it will, as it should, take place in success.
What could be the problem ?