java - Retrofit + Robospice JSON return POJO with Null for nested field -
in project use robospice+retrofit exchange data remoute server, work perfect 1 litle problem, - 1 of pojo objects have nested field null every time.
pojo class
public class snapshot { @serializedname("records_count") private integer recordscount; @serializedname("created") private string created; @serializedname("modified") private string modified; @serializedname("records") private records records; @serializedname("database_id") private string databaseid; @serializedname("revision") private integer revision; @serializedname("size") private integer size; public integer getrecordscount() { return recordscount; } public void setrecordscount(integer recordscount) { this.recordscount = recordscount; } public string getcreated() { return created; } public void setcreated(string created) { this.created = created; } public string getmodified() { return modified; } public void setmodified(string modified) { this.modified = modified; } public records getrecords() { return records; } public void setrecords(records records) { this.records = records; } public string getdatabaseid() { return databaseid; } public void setdatabaseid(string databaseid) { this.databaseid = databaseid; } public integer getrevision() { return revision; } public void setrevision(integer revision) { this.revision = revision; } public integer getsize() { return size; } public void setsize(integer size) { this.size = size; }
}
retrofit class
public class retrofitspiceservice extends retrofitgsonspiceservice { private static final string tag = "retrofitspiceservice"; private static final string authorization_header = "authorization"; private static final string user_agent_header = "user-agent"; private static final string user_agent = "cloud api android client example/1.0"; @override protected string getserverurl() { return "https://my.cloud-api.net"; } @override public void oncreate() { super.oncreate(); addretrofitinterface(datasyncapi.class); } @override protected restadapter.builder createrestadapterbuilder() { restadapter.builder builder = new restadapter.builder(); builder.setrequestinterceptor(new requestinterceptor() { @override public void intercept(requestfacade request) { request.addheader(user_agent_header, user_agent); request.addheader(authorization_header, sharedpreferencesmanager.getregistrationtoken(getapplicationcontext())); } }); builder.setendpoint(getserverurl()); builder.setconverter(getconverter()); return builder; }
}
so, field records in snapshot class equal null, why?
did try add gson converter
gson gson = builder.setfieldnamingpolicy(fieldnamingpolicy.lower_case_with_underscores).create(); restadapter restadapter = new restadapter.builder() .setendpoint("http://localhost/api") .setconverter(new gsonconverter(gson)).build();
Comments
Post a Comment