我有一个JSONObject
,我需要把这个JSONObject
传递给服务器。使用POST
方法。
@POST("Sync_Status")
@Headers("Content-Type: application/json; charset=utf-8")
Call<String> LookupSyncStatus(@Body String json, @Header("Authorization") String authToken);
和
public void SyncStatus(String requestbody, RetrofitCallback<String> retrofitCallback){
Call<String> call = RetrofitClientInterface.getUserService().LookupSyncStatus(requestbody ,authkey);
callForStatusJson(call, retrofitCallback);
这里是包含数据的请求体,并与Postman检查了它,它工作正常。但Android不会通过身体。不知何故身体仍然空
在传递数据时显示400 error Bad Request
。
1条答案
按热度按时间efzxgjgh1#
这是因为不应该将@Body参数作为String传递。你应该从你试图POST的json String创建一个Object并发送它。例如,如果你想发送这个json:
创建对象
然后将数据设置为“something”并将
@Body String json
替换为@Body Request request
此外,我建议使用JSON解析库,如Gson或莫希,这样您就可以更轻松地处理收到的数据。