Retrofit中的IllegalArgumentException /必须没有替换块

时间:2016-03-12 22:34:30

标签: android retrofit

我有以下代码:

    @GET("api.php?company_name={name}")
    Call<Model> getRoms_center(@Query("name") String name);

根据官方文档,我必须使用@Query,并且我正在使用它,但我收到以下错误:

java.lang.IllegalArgumentException: URL query string "company_name={name}" must not have replace block. For dynamic query parameters use @Query.

3 个答案:

答案 0 :(得分:87)

你应该这样做:

@GET("api.php")
Call<Model> getRoms_center(@Query("company_name") String name);

答案 1 :(得分:11)

示例网址为:http://service.com/movies/list?movie_lang=hindi @GET("http://service.com/movies/list") Single<JsonElement> getMovieList(@Query("movie_lang") String userLanguage);

答案 2 :(得分:0)

示例网址:https://api.pray.zone/v2/times/today.jsonlatitude=31.3952348&longitude= &elevation=2000&timeformat=1

要传递该 URL 的改造,您可以使用此:

@GET("today.json") 调用 getSalahTiming(@Query("latitude") 双纬度,@Query("longitude") 双经度,@Query("elevation") int 海拔,@Query("timeformat") int timeformat);