我正在尝试在我的GET网址中替换String。查询如下:
@GET("read/something/Books?$filter=(substringof('{filter}',Description)+or+substringof('{filter}',Code)+or+substringof('{filter}',Title)+or+substringof('{filter}',Barcode))")
Call<ApiResponse<Book>> getFilteredBooks(@Path("filter") String filter);
所以我想用动态字符串替换{filter}。 我收到一个错误:
java.lang.IllegalArgumentException: URL query string "$filter=(substringof('{filter}',Description)+or+substringof('{filter}',Code)+or+substringof('{filter}',Title)+or+substringof('{filter}',Barcode))" must not have replace block. For dynamic query parameters use @Query.
我找不到任何其他合适的注释可以按预期工作。
答案 0 :(得分:1)
您应该使用查询参数,例如:
@GET("read/something/Books")
Call<ApiResponse<Book>> getFilteredBooks(@Query("$filter") String filter);
这会创建类似.../read/something/Books?$filter={parameter you sent}
的网址。