繁体   English   中英

关于带有机体的改装1.9.0删除请求

[英]Regarding Retrofit 1.9.0 DELETE request with body

我的应用程序中使用的Retrofit 1.9.0。我需要带主体的DELETE请求和回调method.My界面是

@DELETE("/Notifications/Remove")     
public void notificationDelete(@Body NotificationDeleteInput obj,Callback<CommonResponse> mCallback)

当我使用此给定错误时,非主体HTTP method不能包含@Body@TypedOutput 只有一个Httpallowed.Found:DELETEDELETE 请帮助我如何克服此错误。

这不起作用的原因是,对于删除请求,Retrofit默认将hasBody设置为false 可以,因为发送带有DELETE请求的正文没有任何意义。 但是Http规范没有明确禁止这样做。

作为一种技巧,您可以创建自己的Delete注释,以覆盖改造后的Delete注释,如下所示:

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@RestMethod(value = "DELETE", hasBody = true)
@interface MOD_DELETE {
  String value();
}

然后在您的请求中使用@MOD_DELETE而不是@DELETE

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM