Я пытаюсь получить сохраненный JWT из SharedPreferences, чтобы я мог отправить их в качестве заголовка в моем запросе, но я не могу получить эти данные внутри интерфейса API. Это возможно?
Спасибо
РЕШЕНО:
Для тех, кто ищет это: вы можете передать заголовок в качестве параметра, например:
@FormUrlEncoded
@POST("users/getUser")
Call<String> getUser(
@Header("Token") String token,
@Field("user") String user
);
Я использую retrofit2, но обнаружил, что могу передать заголовок в качестве параметра




также вы можете использовать встроенный Interceptor для добавления этого токена во ВСЕ запросы, например:
public class AuthInterceptor
implements Interceptor {
@Override
public Response intercept(Chain chain)
throws IOException {
Request request = chain.request();
request = request.newBuilder()
.addHeader("Token", new MySharedPref().getToken())
.build();
return chain.proceed(request);
}
}
и после этого добавьте его экземпляр на свой OkHttpClient:
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
httpClient.addNetworkInterceptor(new AuthInterceptor());
Retrofit retrofit = new Retrofit.Builder()
...
.client(httpClient.build())
.build();
Выглядит круто. Но дело в том, что теперь я всегда использую токен авторизации
Какую библиотеку вы используете для работы в сети?