4

我设置标题的方式如下:

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 is a Map):(“Content-Type”,“application/json”)

但它给了我错误:“HTTP 标头行 [“Content-Type”:“application/json”] 不符合 RFC 7230 并已被忽略”

这可能是什么原因造成的?我尝试发送内容类型,如:(“content-type”,“application/json”),但错误是一样的。

我无法使用“.contentType()”在请求中设置标头,因为标头的数量是可变的,在 headersMap 中动态设置。

4

1 回答 1

4

您正在发送Content-Type: multipart/form-data内容类型指向 json 的表单数据(通常) - 发送正确的 JSON 或将您的标题更改为适合表单数据。

于 2019-04-01T09:16:30.017 回答