在使用Retrofit调用@DELETE接口的时候,会报如下错误
Non-body HTTP method cannot contain @Body.
这是因为
当使用Retrofit中的@DELETE注释来指定HTTP DELETE请求时,无法在请求体中使用@Body注释。这是因为HTTP DELETE请求通常不带请求体,因此不需要将请求体作为请求的一部分发送。
解决办法是自定义注解,用@HTTP注释,允许携带请求体。
修改如下:
java
// @DELETE(ACTION_HOME_DELETE)
@HTTP(method = "DELETE", path = ACTION_HOME_DELETE,hasBody = true)
Flowable<GeneralRes> deleteHome(@Body List<Long> req);