Retrofit2:有时在Android中使用空体进行POST / PUT调用

时间:2017-04-17 10:38:23

标签: android retrofit retrofit2 okhttp3

我在Android中使用Retrofit,GsonConverterFactory是转换器。

Retrofit retrofit = new Retrofit.Builder()
            .baseUrl("http://xxxxxxx.com/")
            .addConverterFactory(GsonConverterFactory.create())
            .client(httpClient.build())
            .build();

我希望用body发送POST请求。

@POST("login/")
Call<LoginData> login(@Body RequestBody loginParam);
HashMap<String, String> params = new HashMap<>();
params.put("allottedphone", phNo);
JSONObject paramsBody = new JSONObject(params);
RequestBody body = RequestBody.create(MediaType.parse("application/json"), paramsBody());
Call<ResponseBody> call = login(body);

同一APIcall的服务器响应:

  1. 包含请求正文的一个日志
  2. 2017-04-16 12:44:59,414 - logging_middleware - INFO - Logging Api Request - {'url': u'/rider/manager/login/', 'log_sub_type': 'POST', 'log_type': 'api', 'request_params': {u'allotted_phone': u'9999999999'}}
    
    1. 没有请求正文的一个日志
    2. 2017-04-16 14:52:52,943 - logging_middleware - INFO - Logging Api Request - {'url': u'/login/', 'log_sub_type': 'POST', 'log_type': 'api', 'request_params': {}}
      

      我正在为大多数用户获取请求正文,但有时会提出空请求正文。任何建议都会很棒。如果您需要更多信息,请与我们联系。

0 个答案:

没有答案