如何在 Retrofit 2.0 中传递动态标头授权?

sai*_*m89 -2 android retrofit2

我想在改造中使用 jwt 传递动态标头,我使用 GET api 接收令牌,并且令牌已使用共享首选项保存,我需要将令牌作为标头传递以在我登录时接收用户详细信息。在此之前,我使用了 volley 库,在改造中只是令人困惑,请帮助我!

小智 5

将@Header 放在方法参数上,并在调用时将其作为值传递。

根据文档:

// Replaces the header with the the value of its target.
@GET("/")
void foo(@Header("Authorization") String token, Callback<Response> cb);
Run Code Online (Sandbox Code Playgroud)

标头参数可能为空,这将从请求中省略它们。传递列表或数组将导致每个非空项目的标题。

请注意,HTTP 标头不会相互覆盖。所有具有相同名称的标头都将包含在请求中。然后,将取决于服务器如何解释它们。我建议您不要添加多个同名的标题。