Существует несколько способов указания пользовательских заголовков.
Если заголовки являются статическими, вы можете указать их при создании экземпляра WebClient
, используя методы defaultHeader
или defaultHeaders
:
WebClient.builder().defaultHeader("headerName", "headerValue")
WebClient.builder().defaultHeaders(headers -> headers.add("h1", "hv1").add("h2", "hv2"))
Если заголовки являются динамическими, но генерация значения заголовка является общей для всех запросов, вы можете использовать ExchangeFilterFunction.ofRequestProcessor
, настроенный во время WebClient
создания экземпляра:
WebClient.builder()
.filter(ExchangeFilterFunction.ofRequestProcessor(
request -> request.headers().add("headerName", getHeaderValuePer(request)))
)
.build();
Если заголовки являются динамическими и специфичными для каждого использования WebClient
, вы можете настроить заголовки для вызова:
webClient.get()
.header("headerName", getHeaderValue(params))
.retrieve();