首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何发送带有翻新正文的HTTP-delete?

如何发送带有翻新正文的HTTP-delete?
EN

Stack Overflow用户
提问于 2017-01-06 23:49:05
回答 6查看 21.6K关注 0票数 34

当我尝试创建delete方法时:

代码语言:javascript
复制
public interface ImageService {
    @DELETE("api/v1/attachment")
    Call<BaseResponse> delete(@Body DeleteModel deleteModel);
}

我得到的错误基本上可以归结为堆栈跟踪中的以下几行:

代码语言:javascript
复制
E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Failure delivering result
java.lang.IllegalArgumentException: Non-body HTTP method cannot contain @Body.
Caused by: java.lang.IllegalArgumentException: Non-body HTTP method cannot contain @Body.

如何将主体添加到delete方法?

我已经在这里搜索过了,但发现有3个没有答案,也没有使用改装。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2017-01-13 15:36:07

一个更简单的答案。

代码语言:javascript
复制
@HTTP(method = "DELETE", path = "/api/analysis_delete", hasBody = true)
Call<Analysis_Delete_RequestResult_Api10> analysis_delete_api10(@Field("seq") String seq);

这样就可以了。

票数 87
EN

Stack Overflow用户

发布于 2017-12-07 13:58:55

这是我的版本

代码语言:javascript
复制
@HTTP(method = "DELETE", path = "{login}", hasBody = true)
Call<ResponseBody> getData(@Path("login") String postfix, @Body Map<String, Object> options);
票数 14
EN

Stack Overflow用户

发布于 2018-03-26 19:56:04

以下是文档的摘录,这是HTTP注释的一个文档功能。

代码语言:javascript
复制
This annotation can also used for sending DELETE with a request body:

 interface Service {
   @HTTP(method = "DELETE", path = "remove/", hasBody = true)
   Call<ResponseBody> deleteObject(@Body RequestBody object);
 }

https://square.github.io/retrofit/2.x/retrofit/retrofit2/http/HTTP.html

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41509195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档