1.这是我使用改造错误的时间
第一步:
public interface RequestService {
@POST ("home/indexThree")
Call<RequestBody> getHomeinfo(@Body RequestBody info);
}
第二步:
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(url)
.addConverterFactory(GsonConverterFactory.create())
.build();
RequestService requestService = retrofit.create(RequestService.class);
RequestBody body = RequestBody.create(JSON, jsonObject.toString());
Call<RequestBody> homeinfo = requestService.getHomeinfo(body);
homeinfo.enqueue(new Callback<RequestBody>() {
@Override
public void onResponse(Call<RequestBody> call, Response<RequestBody> response) {
System.out.println("response"+response.body().toString());
}
@Override
public void onFailure(Call<RequestBody> call, Throwable t) {
System.out.println("onFailure"+t.getMessage().toString());
}
});
我在网上搜索了很长时间。但没用。请帮助或尝试提供一些如何实现这一点的想法。 THX!
答案 0 :(得分:0)
Call<LoginModel>call=apiService.getForgotPassword(Utill.encodeString(json));call.enqueue(new Callback<LoginModel>() {
@Override
public void onResponse(Call<LoginModel> call,
Response<LoginModel> response) {
pDialog.dismiss();
if (response.body() != null) {
LoginModel clientModel = response.body();
if (clientModel.getResult().equalsIgnoreCase("OK")) {
Utill.showCenteredToast(LoginActivity.this, clientModel.getResult());
dialog.dismiss();
} else {
dialog.dismiss();
Utill.showCenteredToast(LoginActivity.this, clientModel.getResult());
}
}
}
答案 1 :(得分:0)
我也遇到了这个问题,我找到了答案的问题,我认为你应该写Call<ResponseBody>
答案 2 :(得分:0)
使用ResponseBody
而非requestbody
解决了我的情况:
public interface RequestService {
@POST ("home/indexThree")
Call<ResponseBody> getHomeinfo(@Body RequestBody info);
}
答案 3 :(得分:-1)
使用来自服务器的正确Call模型类响应,这些错误显示因为你使用Call。
答案 4 :(得分:-1)