2016-07-11 5 views
2

Я хочу выполнить запрос с использованием Retrofit2 и RxJavaКак добавить заголовок авторизации с Retrofit2 + RxJava

public static Observable<Post> getPostsAround(Location location, int offset, int limit) { 
    if(api==null) { 
     new RestService(); //initialize API in constructor 
    } 
    return api.getPostsAround(location.getLatitude(),location.getLongitude(),offset,limit) 
      .flatMapIterable(posts -> posts); //transform Observable<List<Post>> to Observable<Post> which emits posts onNext 
} 

Я попытался @Headers («Авторизация: код) аннотацию, но я не знаю, как изменить» код "во время выполнения.

+0

Что вы подразумеваете под изменением «кода» во время выполнения. Вы можете добавить Interceptors в Okhttp и использовать в качестве клиента Retrofit. –

+0

@ YasinKaçmaz Я имею в виду токен доступа OAuth 2 –

ответ

4

Я нашел ответ: Заголовок запроса можно динамически обновлять с помощью аннотации @Header. Соответствующий параметр должен быть предоставлен @Header. Если значение равно null, заголовок будет пропущено. В противном случае toString будет вызываться по значению, а результат используется.

@GET("user") 
Call<User> getUser(@Header("Authorization") String authorization) 
Смежные вопросы