繁体   English   中英

Content-Length header 使用 WebClient 为 multipart/form-data 发送 POST 请求

[英]Content-Length header sending POST request with WebClient for multipart/form-data

我正在尝试使用 WebClient (spring-web 5.2.9.RELEASE) 发送 POST 多部分请求,但它缺少 API 所需的“内容长度”header。

是否可以将 WebClient 配置为包含 MultipartHttpMessageWriter 的“Content-Length”header,用于使用 multipart/form-data 媒体类型编写请求?

我以这种方式发送请求:

webClient.post().body(BodyInserters.fromMultipartData((MultiValueMap<String, HttpEntity<String>>)request)).exchange();

像这样创建ExchangeFilterFunction https://github.com/spring-projects/spring-framework/issues/26489#issuecomment-896182570并注册它,例如

WebClient webClient = WebClient.builder()
                .filter(new MultipartExchangeFilterFunction())
                ...
                .build();

其中MultipartExchangeFilterFunction实现org.springframework.web.reactive.function.client.ExchangeFilterFunction ,计算正文长度并创建Content-Length Z099FB995346F031C7E39F6E4

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM