Junior — Middle
84
¿Cómo se puede implementar la adición de encabezados en las solicitudes HTTP al usar las bibliotecas Retrofit y OkHttp?
Empresas donde se preguntó
Respuesta de la IA
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 удобен, если нужно добавить заголовки ко всем запросам централизованно.