【问题标题】:Unable to use Query in retrofit无法在改造中使用查询
【发布时间】:2016-08-17 22:46:49
【问题描述】:

您好,我正在尝试在改造中使用 @Query,但我收到类似这样的错误:-

不能有替换块。对于动态查询参数,请使用@Query。

这是我的界面:-

public interface Parser {

    @GET("weather?q={city}&appid=0a8")
    Call<Model> getModel(@Query("city") String city);
}

这是在我的活动中:-

Retrofit retrofit = new Retrofit.Builder()
            .baseUrl("xyz/")
            .addConverterFactory(GsonConverterFactory.create())
            .build();

Parser parser = retrofit.create(Parser.class);
       Call<Model> call = parser.getModel("london");

提前致谢

【问题讨论】:

    标签: android json retrofit2


    【解决方案1】:

    如果你的 api 查询应该像 -

    BASE_URL/weather?q=london&appid=0a8
    

    然后使用

     @GET("weather")
     Call<Model> getModel(@Query("q") String city,@Query("appid") String app_id);
    

    【讨论】:

    【解决方案2】:

    在这种情况下,您应该使用@Path 而不是@Query

    public interface Parser {
    
        @GET("weather?q={city}&appid=0a8")
        Call<Model> getModel(@Path("city") String city);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-12
      • 1970-01-01
      • 1970-01-01
      • 2018-02-11
      • 2019-10-21
      • 2013-01-22
      • 2011-07-16
      相关资源
      最近更新 更多