【发布时间】:2018-04-03 15:01:47
【问题描述】:
我找不到问题的解决方案。当我将数据发送到服务器时,它可以正常工作,但我无法通过相同的方法获得结果。
这是我的 JSON 响应:
{"ok":"true","msg":"active","data":{"_id":"1","name":"aaa","code":1111,"status" :1,"updated_at":"2018-04-03 07:26:56","created_at":"2018-04-03 07:17:05","key":"mmnnjmn34564lt"}}
我可以得到诸如“ok”和“msg”之类的结果,但我无法得到“data”字段。我该如何解决?
界面:
public interface ApiInterfaceService {
@POST("active")
Call<Data> createConfirmCode(@Body Data data);
OkHttpClient okHttpClient=new OkHttpClient();
Retrofit retrofit=new Retrofit.Builder()
.baseUrl(ApiClientConfig.BASE_URL)
.client(okHttpClient)
.addConverterFactory(GsonConverterFactory.create())
.build();
apiInterfaceService =retrofit.create(ApiInterfaceService.class);
}
数据.java
public class Data {
@SerializedName("ok")
public String ok;
@SerializedName("msg")
private String msg;
@SerializedName("data")
private List<dataResponse> data;
}
dataResponse.java
public class dataResponse{
@SerializedName("_id")
public Integer _id;
@SerializedName("name")
public String name;
@SerializedName("code")
public Integer code;
@SerializedName("status")
public Integer status;
}
我的代码:
Data datamodel=new Data();
Call<Data> call = apiInterfaceService.createConfirmCode(datamodel);
call.enqueue(new Callback<Data>() {
@Override
public void onResponse(Call<Data> call, Response<Data> response) {
if (response.isSuccessful()) {
Log.i(InitialClass.TAG,String.valueOf(response.body().getMsg()+" "+response.body().getData());
}
}
@Override
public void onFailure(Call<Data> call, Throwable t) {
Log.i(InitialClass.TAG,t.getMessage()+" "+ t.getCause());
}
});
【问题讨论】: