【发布时间】:2018-03-07 05:33:00
【问题描述】:
这是我的回应
{"message":"Success","draft_id":"5a9f70021207b061128b4567"}
这是我的 POJO 类:
public class SaveNoteModel {
@SerializedName("message")
@Expose
private String message;
@SerializedName("draft_id")
@Expose
private String draftId;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String getDraftId() {
return draftId;
}
public void setDraftId(String draftId) {
this.draftId = draftId;
}
}
我使用标量 retrofit2:converter-scalars:2.1.0 将所有响应转换为字符串。 这是改装电话
ApiInterface apiInterface = RetrofitClient.getStringClient(ApiConstants.SAVE).create(ApiInterface.class);
Call<String> call = apiInterface.saveNoteCall(userid,pcontract,scontract,action_type,headline,description,mediaOption,media,msf_symbol,mediaUrl,fileName,mediaIcon);
call.enqueue(new Callback<String>() {
@Override
public void onResponse(Call<String> call, Response<String> response) {
Log.d("Retrofit", String.format("Data is: %s", response.body()));
String res = response.body().toString();
//res= "{"+ "object_: "+res+"}";
SaveNoteModel menuModel = new Gson().fromJson(res, SaveNoteModel.class);
if (menuModel != null) {
onResponseReceiveEvent.getSuccess(menuModel);
} else {
onResponseReceiveEvent.getFailure();
Log.d("Retrofit", String.format("Error is: %s", response.errorBody()));
}
}
@Override
public void onFailure(Call<String> call, Throwable t) {
call.cancel();
onResponseReceiveEvent.getFailure();
Log.d("Retrofit", String.format("Error is: %s", t));
}
【问题讨论】:
-
您的改造电话可能类似于
Call<String>,但作为回应,您正在为此获得对象,您的改造电话必须是Call<JsonObject> -
@HemantParmar 您分享了一个我无法在我的代码中解析的链接。请帮帮我。