#java #spring-boot #spring-webflux #spring-webclient
#java #spring-boot #spring-webflux #spring-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 и была проигнорирована»
Что может быть причиной этого? Я попытался отправить тип контента, подобный: («content-type», «application / json»), Но ошибка та же.
Я не могу установить заголовок в запросе с помощью «.ContentType()», так как номер заголовка является переменной, которая динамически устанавливается в headersMap.
Ответ №1:
Вы отправляете данные формы (обычно Content-Type: multipart/form-data
) с типом содержимого, указывающим на json — отправьте правильный JSON или измените свой заголовок на соответствующий для данных формы.