Retrofit 2/Rxjava - 获取响应中的头信息

3
@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 ->
                {
                     /*...............*/
                });

我可以轻松获取响应。但我也需要知道响应头信息。如何在我的代码中访问它们?有什么技巧吗?我只获取了主体,如何还能获取响应头呢?


请告诉我我的回答是否有效。 - Ankit Mehta
1个回答

5
你可以使用以下方式获取响应 headers 信息:
将响应类型设置为 Observable<Response<MyDictionary>>,如下所示: 在服务接口中:
@GET("/city/{cityId}/category/all")
Observable<Response<MyDictionary>> getDictionaries(@Path(value = "cityId", encoded = true) String cityId, @HeaderMap Map<String, String> headers);

在调用API时:您可以通过以下方式获取头信息:

response.getHeaders()方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接