java - Retrofit 2/Rxjava - 从响应中检索 header

标签 java http-headers retrofit2 rx-java2

@GET("/city/{cityId}/category/all")
Observable<MyDictionary> getDictionaries(@Path(value = "cityId", encoded = true) String cityId, @HeaderMap Map<String, String> headers);

调用方法来检索数据:

service.getDictionaries(cityId, headersMap)
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(resp ->
                {
                     /*...............*/

                }, throwable ->
                {
                     /*...............*/
                });

我可以轻松获得回复。但我还需要知道响应头。如何在我的代码中访问它们?有小费吗?我只获取正文,如何获取标题?

最佳答案

您可以得到回复headers这样:

将响应类型设置为 Observable<Response<MyDictionary>>如下:

在服务接口(interface)中:

@GET("/city/{cityId}/category/all")
Observable<Response<MyDictionary>> getDictionaries(@Path(value = "cityId", encoded = true) String cityId, @HeaderMap Map<String, String> headers);

调用 api 时:您可以通过以下方式获取 header :

response.getHeaders()方法。

关于java - Retrofit 2/Rxjava - 从响应中检索 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54092234/

相关文章:

java - Matlab 图形用户界面自动化?

java - 无法将简单的 Java Smack 示例连接到 Google Talk

java 8 调用动态优势

java - 如何让 JAXWS 在 SOAP 响应上发送内容长度 header

swift - 无法随我的请求发送授权 header

php - 如何更正此正则表达式以捕获 PHP 中的所有重复参数组?

android - 如何使用 RxJava 2 + Retrofit 2 进行 POST?

android - Retrofit 2.0 的自定义类型适配器

Java - 为什么 protected 对这个函数不起作用

java - 如何在 Android 中使用 Gson 和 Retrofit 解析深层嵌套 json 对象中的字段?