1.这是我使用retrofit错误的时候
第一步:
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());
}
});
我在网上找了很久。但是没有用。请帮助或尝试提供一些想法如何实现这一目标。谢谢!
最佳答案
使用 ResponseBody
而不是 requestbody
,解决了我的问题:
public interface RequestService {
@POST ("home/indexThree")
Call<ResponseBody> getHomeinfo(@Body RequestBody info);
关于android - 无法调用没有参数的 public okhttp3.RequestBody(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41757477/