【发布时间】:2019-07-14 19:27:44
【问题描述】:
在 Spring Boot 1.5.x 中,我可以使用带有 AsyncRestTemplate 的拦截器从传入请求中获取标头到 RestController 端点,并将它们放入通过 AsyncRestTemplate 发出的任何 exchange 请求中。
我不明白这如何与WebClient 一起工作。如果您构建一个WebClient,它的所有标题等都已设置且不可更改:
WebClient client = WebClient.builder()
.baseUrl( "http://blah.com" )
.defaultHeader( "Authorization", "Bearer ey..." )
.build();
虽然我可以使用client.mutate() 更改这些,但它会实例化一个全新的 WebClient 对象。我不想在每个请求上都创建一个新的。有没有办法保留WebClient 并拥有每个请求的标头和其他参数?
每次都强制创建一个新对象似乎是一种很大的浪费和糟糕的性能。
【问题讨论】:
标签: java spring-boot spring-webflux