Retrofit 2 / Rxjava - получить заголовки из ответа - PullRequest
0 голосов
/ 08 января 2019
@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 голосов
/ 09 января 2019

Вы можете получить ответ 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() метод.

...