Retrofit 2 / Rxjava-从响应中检索标头

时间:2019-01-08 12:53:31

标签: 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 ->
                {
                     /*...............*/
                });

我可以轻易退货。但是我还需要知道响应头。如何在我的代码中访问它们?有小费吗?我只有身体,还如何获得标题?

1 个答案:

答案 0 :(得分:0)

您可以通过以下方式获得回复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()方法。