【发布时间】:2023-03-06 23:20:01
【问题描述】:
我需要使用 Webflux 的 WebClient 计算请求正文的某种摘要,并且该摘要必须设置为 HTTP 标头。使用良好的旧 Spring MVC ClientHttpRequestInterceptor 很容易,因为请求正文是作为字节数组提供的。
ExchangeFilterFunction 不提供对请求正文的访问。
正文作为 JSon 发送,Spring 使用 Jackson 来序列化 Java 对象,因此可以选择将我的 Object 序列化为 Json 并在其上计算摘要,但这种策略有两个缺点:
- 我的代码会重复 Spring 在实际发送请求时会执行的操作
- 不能保证 Spring 作为请求发送的实际字节与我传递给摘要函数的字节相同
我想我应该使用 Netty 的一些低级 API,但我找不到任何示例。
【问题讨论】:
标签: spring-webflux spring-webclient reactor-netty