Junior — Middle
72
Каким образом можно реализовать добавление заголовков в HTTP-запросах при использовании библиотек Retrofit и OkHttp?
Companies where asked
Answer from AI
sobes.tech AI
В Retrofit и OkHttp добавление заголовков в HTTP-запросы можно реализовать несколькими способами:
- Использование аннотации @Header или @Headers в Retrofit
// Добавление статического заголовка
@Headers("Authorization: Bearer token")
@GET("/users")
Call<List<User>> getUsers();
// Добавление динамического заголовка
@GET("/users")
Call<List<User>> getUsers(@Header("Authorization") String authToken);
- Использование Interceptor в OkHttp для добавления заголовков ко всем запросам
OkHttpClient client = new OkHttpClient.Builder()
.addInterceptor(chain -> {
Request original = chain.request();
Request requestWithHeaders = original.newBuilder()
.header("Authorization", "Bearer token")
.header("Custom-Header", "value")
.build();
return chain.proceed(requestWithHeaders);
})
.build();
Retrofit retrofit = new Retrofit.Builder()
.client(client)
.baseUrl("https://api.example.com/")
.build();
Interceptor удобен, если нужно добавить заголовки ко всем запросам централизованно.