问题描述
我正在针对端点构建一些测试,我想验证端点是否具有状态 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 (将#修改为@)