关于Retrofit 1.9.0 DELETE请求与body

时间:2016-12-28 06:50:05

标签: java android retrofit

我的应用程序中使用的Retrofit 1.9.0。我需要method.My请求身体并回拨@DELETE("/Notifications/Remove") public void notificationDelete(@Body NotificationDeleteInput obj,Callback<CommonResponse> mCallback) 界面

HTTP method

当我使用此给定错误时,非正文@Body不能包含@TypedOutputHttp。只有一个allowed.Found:DELETEDELETE void uncaughtExceptionHandler(NSException *exception) { NSLog(@"CRASH: %@", exception); NSLog(@"Stack Trace: %@", [exception callStackSymbols]); // Internal error reporting } 。请帮我解决这个错误。

1 个答案:

答案 0 :(得分:2)

这不起作用的原因是因为默认情况下,Retrofit会将for row=1:size(ABC,1) row_values = ABC{row,:}; row_values = row_values(4:end); % How to make the loop for columns L and U where there are multiple objects in one cell? % How can I use 'movsum' and 'movstd' here to calculate values vertically going up? end; 设置为hasBody以用于删除请求。这没关系,因为发送带有DELETE请求的正文是没有意义的。但是Http规范没有明确禁止这个..

作为黑客,您可以创建自己的false注释,覆盖改造Delete注释,如下所示:

Delete

然后在您的请求中使用@Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @RestMethod(value = "DELETE", hasBody = true) @interface MOD_DELETE { String value(); } 而不是@MOD_DELETE