Android异常:Non-body HTTP method cannot contain @Body.

在使用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);
相关推荐
烁月_o919 分钟前
《安全工程师自我防护指南:直面数字威胁的有效策略与实践》
运维·网络·经验分享·其他·网络安全
不一样的信息安全23 分钟前
网络安全与信息安全的区别
网络·网络安全·信息安全
听风吹等浪起1 小时前
改进系列(6):基于DenseNet网络添加TripletAttention注意力层实现的番茄病害图像分类
网络·人工智能·神经网络·算法·分类
BBluster1 小时前
multiprocessing包详解【Python】
开发语言·网络·python
半个西瓜.2 小时前
网络安全:基线检查---自动化脚本检测.
网络·安全·web安全·网络安全·安全威胁分析
运维小文2 小时前
TCP协议简单分析和握手挥手过程
服务器·网络·网络协议·tcp/ip·三次握手
xtggbmdk2 小时前
三层交换机和路由器的连接方式有三种:
网络·智能路由器
gywl2 小时前
计算机网络-应用层
服务器·网络·计算机网络
光明编码使者2 小时前
WebSocket 与 Server-Sent Events (SSE) 的对比与应用
网络·websocket·网络协议
文中金域2 小时前
websocket 服务 pinia 全局配置
网络·websocket·网络协议·vue