改装时出现java.lang.IllegalArgumentException错误

时间:2019-02-13 04:32:27

标签: android retrofit

我想获取有关Internet使用的数据翻新库 我的代码看起来像这样:

@GET("?key={key}&q={quotes}")
Call<List<Pixabay.hits>> getTheData(@Query("key") String key, @Query("quotes") String quotes);

java.lang.IllegalArgumentException:URL查询字符串key={key}&q={quotes}不能包含replace块。对于动态查询参数,请使用@Query。         对于方法api.getTheData

我遇到了这个问题,如何解决呢?谢谢。

2 个答案:

答案 0 :(得分:1)

您不必在路径中编写查询参数。 @Query将为您做到这一点。

替换

@GET("?key={key}&q={quotes}")

使用

@GET("/")

恰好,{something}参数只能在路径变量中使用。 例如,

@GET("/key/{key}")

在这种情况下,您可以使用@Path注释代替@Query

答案 1 :(得分:0)

如果指定@GET(“ key?a = 5”),则必须使用&附加任何@Query(“ b”),并生成类似key?a = 5&b = 7的内容。

如果指定@GET(“ key”),则必须使用?附加第一个@Query,生成类似于key?b = 7的内容。

因此,在您的情况下,无需添加?key = {key}&q = {quotes}这样的代码,只需添加 您的域@GET(“您的域/”)