我使用 web服务调用了Retrofit2,但是onResponse没有被调用,onFailure被称为(尽管有),服务的操作在服务器端上完全成功--
每当我尝试使用fiddler来检查服务的工作情况时,我发现问题是序列化服务的后续响应,当使用fiddler时,我发现JSON响应中没有任何内容,所以Retrofit服务假设它失败了,因为没有内容,它不能序列化空的内容并给我这个错误。
java.io.EOFException: End of input at line 1 column 1
Fiddler原始响应
HTTP/1.1 200 OK
Server: nginx/1.9.4
Date: Wed, 02 Mar 2016 09:55:55 GMT
Content-Type: application/json
Content-Length: 0
Connection: close
Status: 200 OK
X-Content-Type-Options: nosniff
Fiddler Json响应为空
java中的java服务
Call<Object> call = TimeCapp.services.accept_invited_alerts(HomeActivity.api_token, alert_id);
call.enqueue(new Callback<Object>()
{
@Override
public void onResponse (Call<Object> call, Response<Object> response)
{
if (response.isSuccess()) {
String x = response.body();
}
}
@Override
public void onFailure (Call<Object>call, Throwable t)
{
String x = t.getMessage();//java.io.EOFException: End of input at line 1 column 1
}
}
我试图将对象替换为String、JsonObject、emptyCalssBody .但失败了
webservice的接口
@PATCH("alerts/{alert_id}/accept")
Call<Object> accept_invited_alerts(@Header("X-Api-Token") String
api_token, @Path("alert_id") int alert_id);
发布于 2021-11-04 03:57:18
对于我来说,在功能完成后,我没有发送任何响应,只是在服务器端添加了以下行帮助。这可以适应您正在使用的语言。只是从服务器端发送一些响应.
use Response;
return Response::json(array(
'result' => 'success',
));
https://stackoverflow.com/questions/35744795
复制相似问题