改造中的空体2

时间:2018-01-12 14:54:45

标签: android retrofit2

我有一个场景,当你在终点上做一个PUT并得到一个好的http代码200,那么你不要指望一个正文。但是,如果服务器返回表示错误的http代码,则会发送错误json作为正文。

我如何处理这两种情况?看起来你只能处理其中一个

@PUT("/path/to/get")
Call<Response<<Void>> getMyData(/* your args here */);

如果我得到一个errorResponse主体,它显然不会得到数据响应

@PUT("/path/to/get")
Call<Response<ErrorResponse>> getMyData(/* your args here */);

如果响应良好,那么它会尝试将没有任何内容的主体转换为java.io.EOFException:第1行第1行的输入结束路径$

1 个答案:

答案 0 :(得分:2)

对这种情况使用select * from mytable a where (markertype like 'ATYPE%' or markertype like 'BTYPE%') and (variety, connectid) in ( select variety, connectid from mytable group by variety, connectid having count(case when markertype like 'ATYPE%' then 1 end) > 0 and count(case when markertype like 'BTYPE%' then 1 end) > 0 );

ResponseBody