android - 改造时出现 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
我得到这个问题,如何解决这个问题?谢谢你。
解决方案
您不必在路径中编写查询参数。
@Query
会为你做的。
代替
@GET("?key={key}&q={quotes}")
和
@GET("/")
准确地说,{something}
参数只能在路径变量中使用。例如,
@GET("/key/{key}")
在这种情况下,您可以使用@Path
注解代替@Query
.
推荐阅读
- powershell - 是否可以使用 Copy-Item 从源目录中仅复制几个文件?
- wpf - Powershell GUI未将单选按钮注册为单击
- javascript - 在不了解其属性的情况下比较 JSON 对象
- angular - 当来自 Origin 的资源为 10 个或更多文件时,不存在“Access-Control-Allow-Origin”标头,但在 9 个或更少时很好
- github - 我可以将外部位置用作 git-lfs 的单独服务器吗?
- google-sheets - 使用importXML函数获取股票的扇区数据
- linux - 错误无法加载库“/usr/pgsql-11/lib/postgres_fdw.so”
- java - jar 可执行文件在 Netbeans maven 项目中运行时功能失调
- r - 使用数据表的计算列在 ggplot 条形图中添加计算值
- php - 无法使用 Laravel 工厂为数据透视表中的非关系列设置值