Spring Webflux Webclient | Заголовки типов контента устанавливают проблему
Способ установки заголовка ниже:
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 и была проигнорирована"
Что может быть причиной этого? Я пытался отправить тип контента, как: ("тип контента", "приложение / JSON"), но ошибка та же.
Я не могу установить заголовок в запросе, используя ".contentType()", так как номер заголовка является переменной, которая устанавливается динамически в headersMap.
1 ответ
Вы отправляете данные формы (обычно Content-Type: multipart/form-data
) с типом содержимого, указывающим на json - отправьте правильный JSON или измените заголовок, чтобы он соответствовал данным формы.