2016-07-11 35 views
2

我想用Retrofit2和RxJava执行请求如何添加Authorization头与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

什么意思是如何在运行时更改“代码”。您可以将拦截器添加到Okhttp并用作Retrofit的客户端。 –

+0

@YasinKaçmaz我的意思是访问OAuth 2的令牌 –

回答

4

我找到了答案: 请求标头可以使用@Header标注动态更新。必须向@Header提供相应的参数。如果值为null,标头将为省略。否则,toString将被调用该值,并使用结果。

@GET("user") 
Call<User> getUser(@Header("Authorization") String authorization) 
相关问题