Sobes.tech
Junior — Middle
73

Каким образом можно реализовать добавление заголовков в HTTP-запросах при использовании библиотек Retrofit и OkHttp?

Компании, где спрашивали
СовкомбанкСовкомбанк

Ответ от нейросети

sobes.tech AI

В Retrofit и OkHttp добавление заголовков в HTTP-запросы можно реализовать несколькими способами:

  1. Использование аннотации @Header или @Headers в Retrofit
// Добавление статического заголовка
@Headers("Authorization: Bearer token")
@GET("/users")
Call<List<User>> getUsers();

// Добавление динамического заголовка
@GET("/users")
Call<List<User>> getUsers(@Header("Authorization") String authToken);
  1. Использование 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 удобен, если нужно добавить заголовки ко всем запросам централизованно.