【问题标题】:Android Retrofit Post IssueAndroid 改造后问题
【发布时间】:2016-09-07 21:52:50
【问题描述】:

我之前使用 volley 实现了以下发布请求,但现在我想用它进行改造。 所以我的休息网络服务如下 www.blahblahblah.com/webservice.svc/

我有一个在接受以下 jsonobject 的 web 服务中调用的函数(Person)

JSONObject jsonObject = new JSONObject();
JSONObject searchCriteria = new JSONObject();
jsonObject.put("FullName", "frank jones");
jsonObject.put("DOB", "06-04-1978");
jsonObject.put("Age", "28");
jsonObject.put("Reason", "Search");
searchCriteria.put("searchCriteria", jsonObject);

所以在排球中我打电话给 www.blahblahblah.com/webservice.svc/Person 并传递上面的 jsonobject。 完美运行

所以对于 Retrofit 我使用了相同的逻辑,创建我的 jsonobject 并将它传递到请求中 所以我使用相同的网址 www.blahblahblah.com/webservice.svc/

创建我的帖子

@POST("Person")
Call<PersonResponseData> getPersonAccess(@Body Object body);

那么我的代码会得到响应

 Retrofit retrofit = new Retrofit.Builder()
            .baseUrl(urlSearch)
            .addConverterFactory(GsonConverterFactory.create())
            .build();

    RetrofitService service = retrofit.create(RetrofitService.class);

    Call<PersonResponseData> personResponseDataCall =        service.getPersonAccess(searchCriteria);

    personResponseDataCall.enqueue(new Callback<PersonResponseData>() {
        @Override
        public void onResponse(Response<PersonResponseData> response,    Retrofit retrofit) {
            int statuscode = response.code();
            PersonResponseData personResponseData = response.body();
        }

        @Override
        public void onFailure(Throwable t) {

        }
    });

我刚刚收到 404 错误,有什么想法。 正如我所说,这在截击中非常有效,但我在改造时做错了。

感谢您的帮助

【问题讨论】:

    标签: android rest retrofit


    【解决方案1】:

    你可以查看这个问题link这里是使用retrofit 2POST request的解释

    【讨论】:

      【解决方案2】:

      这只是猜测,但请尝试以下操作:

      1) 在调用声明中指定它,不是Call getPersonAccess,而是Call&lt;PersonResponseData&gt; getPersonAccess
      2) 制作 POJO 而不是 JSON 对象,并将其用作主体,而不是将 Object 传递给 getPersonAccess 调用。

      【讨论】:

        猜你喜欢
        • 2021-02-13
        • 2020-03-22
        • 1970-01-01
        • 2018-12-21
        • 1970-01-01
        • 1970-01-01
        • 2019-08-27
        • 1970-01-01
        • 2018-04-13
        相关资源
        最近更新 更多