tam*_*987 22 java android get retrofit
我有这个功能
@GET("/users?filters[0][field]={param}&filters[0][operator]=equals&filters[0][value]={value}")
UserDto retrieveUsersByFilters(@Path("param") String nameFilter, @Path("value") String value);
Run Code Online (Sandbox Code Playgroud)
我试着像这样称呼它:
UserDto currentUser = interfaceUser.retrieveUsersByFilters(User.LOGIN, login);
Run Code Online (Sandbox Code Playgroud)
但我有错误:
retrofit.RetrofitError:InterfaceUser.retrieveUsersByFilters:URL查询字符串"filters [0] [field] = {param}&filters [0] [operator] = equals&filters [0] [value] = {value}"必须没有替换块.
我已经在firefox上测试了网址,它运行正常.
谢谢你的回复
编辑
解:
@GET("/users?filters[0][operator]=equals")
UserDto retrieveUsersByFilters(
@Query("filters[0][field]") String nameFilter,
@Query("filters[0][value]") String value);
Run Code Online (Sandbox Code Playgroud)
Jak*_*ton 23
查询参数有自己的注释,自动附加到URL.
@GET("/users?filters[0][operator]=equals")
UserDto retrieveUsersByFilters(
@Query("filters[0][field]") String nameFilter,
@Query("filters[0][value]") String value);
Run Code Online (Sandbox Code Playgroud)
你可以阅读更多有关@Query在其的Javadoc
小智 5
URL="/api-mobile_prateek2.php?method=getProductById&pid="
@GET("/api-mobile_prateek2.php?method=getProductById")
Call<Product> responseproduct(@Query("pid") String pid);
Run Code Online (Sandbox Code Playgroud)
不要把pid放在@GET中,Retrofit会自动修复url,使用@Query
| 归档时间: |
|
| 查看次数: |
19807 次 |
| 最近记录: |