我尝试将来自NewOrderRequest(pojo)类的数据放入参数中:
@Query("params") NewOrderRequest params
但我得到以下结果:
resultQueryString:参数com.example.city.Model.NewOrderRequest@f45c8ad
预期结果:
resultQueryString:参数+911
数据设置:
NewOrderRequest newOrderRequest = new NewOrderRequest();
newOrderRequest.setPhone("+911");
NetworkService.getInstance()
.service()
.newOrder(newOrderRequest)
请求:
@Headers({"Accept:application/json", "Content-Type:application/json;"})
@POST("RemoteCall?method=Taxi.WebAPI.NewOrder")
Call<RegResponse>newOrder(@Header("Cookie") String setCookie,@Query("params") NewOrderRequest params);
请告诉我如何将手机传递给参数?
答案 0 :(得分:0)
尝试下面的代码
@Headers({"Accept:application/json", "Content-Type:application/json;"})
@POST("RemoteCall?method=Taxi.WebAPI.NewOrder")
Call<RegResponse>newOrder(@Header("Cookie") String setCookie,@Query("params") String phone);
答案 1 :(得分:0)
由于它是一个发布请求,其目的是将数据作为json对象发送,因此最好在请求正文中发送数据,而不要在查询参数中发送。另外,任何敏感的细节都应该是请求正文的一部分。
答案 2 :(得分:0)
您要在@Query
参数中发送对象,只有@Body
接受对象作为其参数。您想要的是将Object转换为JsonObject。我假设您正在使用Gson库。
NewOrderRequest newOrderRequest = new NewOrderRequest();
newOrderRequest.setPhone("+911");
NetworkService.getInstance()
.service()
.newOrder(new Gson().toJson(newOrderRequest))