【问题标题】:IllegalArgumentException in Retrofit / must not have replace blockRetrofit 中的 IllegalArgumentException / 不能有替换块
【发布时间】:2016-06-28 02:39:18
【问题描述】:

我有以下代码:

    @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.

【问题讨论】:

    标签: android retrofit


    【解决方案1】:

    你应该这样做:

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

    【讨论】:

      【解决方案2】:

      示例网址为:http://service.com/movies/list?movie_lang=hindi

      对于该 URL,您可以使用:

      @GET("http://service.com/movies/list")
      Single<JsonElement> getMovieList(@Query("movie_lang") String userLanguage);
      

      【讨论】:

        【解决方案3】:

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

        要对该 URL 进行改造,您可以使用:

        @GET("today.json")
        Call<SalahMainResponse> getSalahTiming(
            @Query("latitude") double latitude,
            @Query("longitude") double longitude,
            @Query("elevation") int elevation,
            @Query("timeformat") int timeformat
        );
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-08-02
          • 2016-02-13
          • 2019-01-30
          • 1970-01-01
          • 2016-06-06
          • 1970-01-01
          • 2012-02-07
          相关资源
          最近更新 更多