繁体   English   中英

如何使用Retrofit使用querystring参数发出请求?

[英]How to make a request with querystring params using Retrofit?

我有一个具有以下URL的api方法: http : //api.website.com/app.php?action=SOMETHING&id=SOME_NUMBER

我对每个请求进行更改的唯一部分是ID查询字符串,它替换了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参数。 这有什么问题?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM