定义Retrofit2接口-没有响应主体的方法

时间:2018-07-11 09:23:26

标签: java rest retrofit2

我正在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);

感谢您的帮助,祝您愉快!

2 个答案:

答案 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);

您将有权访问onResponseonFailure回调,但是不会尝试进行数据反序列化