缘由

因为客户单位自行创建的Restful接口,在请求方法位delete的情况下,需要使用到request body 来传递请求参数,但是retrofit2的标准注解@DELETE是无法使用@Body注解的。所以需要自定义一个注解以便处理请求。

解决代码

很简单

@HTTP(method = "DELETE", path = "/revoke", hasBody = true)
 Observable<Response<LocalResponse<Void>>> revoke(@Body RevokeForm revokeForm);

使用@HTTP注解自行定义一个新的请求类型,只需要把method 设置为DELETE ,hasBody 设置为true,即可支持。