Spring Webflux Webclient |Заголовки типов контента устанавливают проблему - PullRequest
2 голосов
/ 01 апреля 2019

Способ установки заголовка ниже:

import org.springframework.web.reactive.function.client.WebClient;

WebClient webClient = WebClient.create();
webClient.post().uri(url)
        .headers(httpHeaders -> httpHeaders.setAll(headersMap))
        .body(BodyInserters.fromFormData(HelperMethods.mapToMultiValueMap(body))).exchange();

Это работает для некоторых сервисов, но, когда я добавляю пользовательскую базу заголовков требований, я сталкиваюсь с проблемой.

Для настройки типа контента я добавил следующее в заголовках в headersMap (headersMap - это карта): ("Content-Type", "application / json")

Но выдает ошибку: "Строка заголовка HTTP [" Content-Type ":" application / json "] не соответствует RFC 7230 и была проигнорирована"

Что может быть причиной этого? Я попытался отправить тип контента, например: ("content-type", "application / json"), но ошибка та же.

Я не могу установить заголовок в запросе с помощью «.contentType ()», так как номер заголовка является переменной, которая устанавливается динамически в headersMap.

1 Ответ

2 голосов
/ 01 апреля 2019

Вы отправляете данные формы (обычно Content-Type: multipart/form-data) с типом содержимого, указывающим на json - отправьте правильный JSON или измените заголовок, чтобы он соответствовал данным формы.

...