首页 > 解决方案 > 改造时出现 java.lang.IllegalArgumentException 错误

问题描述

我想在 Internet 上获取数据使用 Retrofit Library 我的代码如下所示:

@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}不能有替换块。对于动态查询参数,请使用@Query. 对于方法api.getTheData

我得到这个问题,如何解决这个问题?谢谢你。

标签: androidretrofit

解决方案


您不必在路径中编写查询参数。 @Query会为你做的。

代替

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

@GET("/")

准确地说,{something}参数只能在路径变量中使用。例如,

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

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


推荐阅读