我正在使用Retrofit来调用API。我向API发送POST请求,但在回调中我得到了一个空的JSON,就像这样 {}。
下面是RetrofitService的代码:
@POST("/com/searchusers.php")
void getUser(@Body JSONObject searchstring, Callback<JSONObject> callBack);
需要搜索的字符串JSON格式如下{"search":"nitesh"}。我应该得到用户“nitesh”的详细信息。
以下是发送POST请求的代码
RetrofitService mRetrofitService = app.getRetrofitService();
mRetrofitService.getUser(user, new Callback<JSONObject>() {
@Override
public void success(JSONObject result, Response arg1) {
System.out.println("success, result: " + result);
}
@Override
public void failure(RetrofitError error) {
System.out.println("failure, error: " + error);
}
});
我得到的输出是 成功,结果:{}
期望的输出是 成功,结果:{"name":"nitesh",....rest of the details}
编辑: 我尝试使用Response而不是JSONObject,像这样CallBack,然后我将原始响应转换为字符串,并获得了预期的结果。但问题是它是字符串,我想要的是JSONObject响应。
如何使用CallBack获得精确结果...?
Callback<String>
代替Callback<JSONObject>
。 - Vicky Chijwani