我有一个api方法,其网址如下:http://api.website.com/app.php?action=SOMETHING&id=SOME_NUMBER
我在每个请求中唯一更改的部分是id querystring,替换了SOME_NUMBER(例如:http://api.website.com/app.php?action=SOMETHING&id=556)。
我正在创建这样的服务:
public interface MyService {
@GET("acao=SOMETHING")
Call<ComicBookResponse> get(@Query("id") String id);
}
我使用工厂类来返回服务的实例:
public static MyService myService() {
return new Retrofit.Builder()
.baseUrl("http://api.website.com/app.php?")
.addConverterFactory(GsonConverterFactory.create())
.build()
.create(MyService.class);
}
但是,请求似乎忽略了@Query参数。这有什么问题?
答案 0 :(得分:0)
public static MyService myService() {
return new Retrofit.Builder()
.baseUrl("http://api.website.com")
.addConverterFactory(GsonConverterFactory.create())
.build()
.create(MyService.class);
}
public interface MyService {
@GET("/app.php")
Call<ComicBookResponse> get( @Query("action") String action, @Query("id") String id );
}
现在它将形成如下网址:
http://api.website.com/app.php?action=SOMETHING&id=556 // if action=SOMETHING and id=556