如何解决有没有办法控制 WebTestClient 发送的 Content-Length 标头?
我正在针对端点构建一些测试,我想验证端点是否具有状态 411 的正确行为。我一直在使用 org.springframework.test.web.reactive.server.WebTestClient 作为我的端点请求。但是,测试客户端似乎为我添加了 Content-Length 标头。我想尝试发送没有 Content-Length 并且长度设置为一些无效值的请求。
我试过了
return WebTestClient.bindToServer()
.baseUrl(Env.getBaseUrl())
.build()
.method(method)
.uri(path)
.headers(hdrs -> hdrs.setAll(headers.toSingleValueMap()))
.contentLength(-1)
.body(BodyInserters.fromValue(reqBody))
.exchange();
但是请求头看起来像这样
> POST http://localhost:8080/myapp/v3/resource/
> WebTestClient-Request-Id: [1]
> Accept: [application/json]
> Content-Type: [application/json]
> Authorization: REDACTED
> Content-Length: [244]
我还尝试省略 Content-Length(作为函数调用和 headers 对象中的标题),在我的 headers 对象中显式设置 Content-Length,并将 Content-Length 设置为各种其他值使用 contentLength 方法。在所有情况下,请求都将传出的 Content-Length 标头设置为 244 字节。
如果需要,我可以使用不同的客户端,尽管我目前使用 WebTestClient 进行大量测试,因此如果可能,我更愿意使用该客户端。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。