我正在开发一个Android应用程序。我决定使用Square的Retrofit库,它符合我的要求。然而,我面临的问题是
反序列化问题
.我的后台是通过使用
rails-api
gem在Rails 4中编写的。
active-model-serializer
可以生成这种JSON(JSON有一个根元素)。
{"user":{"id":1,"name":"Saygun","github_url":"www.github.com/saygun" }}
以下是我如何初始化retrofit
。
public class User {
private String mId;
private String mName;
private String mGithubUrl;
public String getId() {
return mName;
public void setId(String id) {
this.mId = id;
public String getName() {
return mName;
public void setName(String name) {
this.mName = name;
public String getGithubUrl(String url) {
this.mGithubUrl = url;
public interface RestService {
@GET("/users/{id}")
void getUser(@Path("id") int id, Callback<User> cb);
Gson gson = new GsonBuilder()
.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES)
.registerTypeAdapter(Date.class, new DateTypeAdapter())
.create();
RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint(BuildConfig.API_ENDPOINT)
.setLogLevel(RestAdapter.LogLevel.FULL)
.setRequestInterceptor(requestInterceptor)
.setConverter(new GsonConverter(gson))
.build();
RestService service = restAdapter.create(RestService.class);
service.getUser(1, new Callback<User>() {
@Override
public void success(User user, Response response) {
//User is null
@Override
public void failure(RetrofitError error) {
有没有人可以告诉我,我错过了什么。为什么retrofit
不能创建用户?