@DELETE("/job/deletejob")
Observable<JobDeleteResponseModel> jobDelete( @Body JobDeleteRequestModel model);
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
非身体HTTP方法不能包含@Body或@TypedOutput
谁能帮助我从这里出来?
And*_*dEx 166
我最近使用过这个官方解决方法:
@HTTP(method = "DELETE", path = "/job/deletejob", hasBody = true)
Observable<JobDeleteResponseModel> jobDelete(@Body JobDeleteRequestModel model);
Run Code Online (Sandbox Code Playgroud)
小智 8
改变
@DELETE("/job/deletejob")
Observable<JobDeleteResponseModel> jobDelete( @Body JobDeleteRequestModel model);
Run Code Online (Sandbox Code Playgroud)
到
@HTTP(method = "DELETE", path = "/job/deletejob", hasBody = true)
Observable<JobDeleteResponseModel> jobDelete( @Body JobDeleteRequestModel model);
Run Code Online (Sandbox Code Playgroud)
区别在于
@DELETE("/job/deletejob") // For DELETE without body
@HTTP(method = "DELETE", path = "/job/deletejob", hasBody = true) // For DELETE with body
Run Code Online (Sandbox Code Playgroud)
@HTTP(method = "DELETE", path = "api/v3/delete", hasBody = true)
Call<ResponseBody> RESPONSE_BODY_CALL(@Header("Authorization") String authorization, @Body HashMap<String, List> stringListHashMap);
Run Code Online (Sandbox Code Playgroud)
或检查 https://github.com/square/retrofit/issues/974
需要指定参数
method、path、hasBody
Kotlin方式
@HTTP(method = "DELETE", path = "event/eventRemovePicture", hasBody = true)
fun callDeleteImage(
@Body body: RequestBody
): Call<RemoveEventPictureResponse>
Run Code Online (Sandbox Code Playgroud)
科特林代码:
path如果接口方法的第一个参数是用 @Url 注释的 url,则不需要示例:
@HTTP(method = "DELETE", hasBody = true)
fun deleteStudentFromDatabase(
@Url url: String,
@Body payload: StudentModel
): Observable<Any>
Run Code Online (Sandbox Code Playgroud)
如果接口方法的第一个参数不是 url,则使用它
@HTTP(method = "DELETE", path = "{urlPath}", hasBody = true)
fun deleteStudentFromDatabase(
@Body payload: StudentModel,
@Path("urlPath") url: String
): Observable<Any>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15169 次 |
| 最近记录: |