如何解决“ @Url无法与@PUT URL(参数#1)一起使用”

时间:2018-12-28 14:09:33

标签: android retrofit2

我想同时使用@PUT和@Url,但是会抛出IllegalArgumentException

2 个答案:

答案 0 :(得分:1)

此答案基于您使用Retrofit Library进行API调用的假设。如果不是这种情况,我深表歉意,并让我知道,以便我可以修改/删除答案。

根据我的研究,您可能已经实现了如下所示的接口方法:

@PUT("")
Call...

通过此调用,您应该遇到 java.lang.IllegalArgumentException:缺少@GET URL或@Url参数为 ,您没有提供所需的附加参数完成API调用。

因此,您必须将基本URL保留在mainActivity中,以便在接口的括号内进行API的调用和路由

@PUT("user/id")

或者如果您想保留其原始空白,则必须使用@PUT("."),因为这将声明您的最终URL与mainActivity中提供的基本URL相同。

答案 1 :(得分:0)

你离我很近...

@PUT("xxxx/threads/{tid}"
fun editPost(
    @Path("tid") postId: Long,
    @Body x: X
)