首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法调用没有参数的公共okhttp3.RequestBody()

无法调用没有参数的公共okhttp3.RequestBody()
EN

Stack Overflow用户
提问于 2017-01-20 14:35:15
回答 5查看 4.5K关注 0票数 7

1.这是我使用改装错误的时候

第一步:

代码语言:javascript
复制
public interface RequestService {
    @POST ("home/indexThree")
    Call<RequestBody> getHomeinfo(@Body RequestBody info);
}

第二步:

代码语言:javascript
复制
 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());
        }
    });

我在网上搜索了很长一段时间。但是没有用。请帮助或尝试给出一些如何实现这一目标的想法。谢谢!

EN

回答 5

Stack Overflow用户

发布于 2019-07-07 07:46:38

使用ResponseBody而不是requestbody解决了我的问题:

代码语言:javascript
复制
public interface RequestService {
@POST ("home/indexThree")
Call<ResponseBody> getHomeinfo(@Body RequestBody info);

}

票数 1
EN

Stack Overflow用户

发布于 2017-06-06 21:33:13

代码语言:javascript
复制
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());
                }
            }
        }
票数 0
EN

Stack Overflow用户

发布于 2017-08-08 11:50:04

我也遇到了这个问题,我找到了问题的答案,我认为你应该写Call<ResponseBody>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41757477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档