我正在Retrofit2接口中定义Call对象,以使用外部Rest API。
对于大多数电话,我们都有类似的东西:
@POST("/api/v1/methodEndPoint")
public Call<MethodResponse> methodName(@Body MethodRequest methodRequest);
但是,我的问题是:如果没有Response对象(没有响应主体的POST调用,我们只关心状态),我应该如何定义一个方法。如果我只写以下内容,则Retrofit将引发异常:
@POST("/api/v1/methodEndPoint")
public Call methodName(@Body MethodRequest methodRequest);
感谢您的帮助,祝您愉快!
答案 0 :(得分:2)
要在Retrofit 2中定义没有任何响应的方法,方法的返回类型应为Void
您可以尝试:
@POST("/api/v1/methodEndPoint")
Call <Void> methodName(@Body MethodRequest methodRequest);
答案 1 :(得分:0)
使用ResponseBody
。基本上,您可以这样做:
@POST("/api/v1/methodEndPoint")
public Call<ResponseBody> methodName(@Body MethodRequest methodRequest);
您将有权访问onResponse
和onFailure
回调,但是不会尝试进行数据反序列化