【发布时间】:2020-01-31 10:05:04
【问题描述】:
我尝试使用原始 json 对象删除 Retrofit 方法来删除我的列表项。我曾经将 POST 方法与 raw 方法一起使用,但我需要与 @DELETE 方法相同。这里发布方法代码:
@Headers("Content-Type:application/json")
@POST("api/tracking/post")
Call<MyResponse> getUser(@Body JsonObject jsonBody);
我需要这种类型的 DELETE 方法和带有这种类型 url 的原始对象
api/tracking/delete/{user_id}
我试试
@Headers("Content-Type:application/json")
@DELETE("api/tracking/delete/{user_id}")
Call<MyResponse> getUser(@Body JsonObject jsonBody);
我把我的json
{
"store_id":"oddeve78",
"user_id":1,
"api_token":"nzBxRT9lr2T0WDnd1DAA8Z6uXZRJQt3OyNkP6rfqCl8kEvNeyM7KoHvkqHU0}
【问题讨论】:
-
问题是你没有从方法参数中传递
Path参数。在@DELETE注释的getUser方法中添加变量@Path("user_id) String/int userId。 -
但我不需要@Path 参数,我使用的是原始 json obj。我可以在同一个 API 中添加 raw 和 Params 吗?
-
使用
api/tracking/delete/{user_id},你实际上是在使用Path。 -
是的,你可以。另请注意:当您声明像
@DELETE("api/tracking/delete/{user_id}")这样的 API 路径时,您需要在方法参数中提供来自 Path 参数的 user_id。 -
我没有使用它,但我需要这种类型的 URL @Mahdi-Malv
标签: android json http retrofit retrofit2