@Configuration
public class WebClientConfiguration {
@Bean
@LoadBalanced
public WebClient.Builder webClientBuilder() {
return WebClient.builder();
}
@Bean
public AFeign aFeign() {
WebClient webClient = webClientBuilder().build();
return HttpServiceProxyFactory.builder().exchangeAdapter(WebClientAdapter.create(webClient))
.build().createClient(AFeign.class);
}
}
@HttpExchange(url = "http://serverA")
public interface AFeign {
@PostExchange(value = "/product")
Mono<Entity> add( @RequestBody Entity entity);
}
问题请教:
- 服务间调用的时候,HttpExchange如何添加自定义的请求头并把请求头转发给ServerA
- 有没有类似OpenFeign的RequestInterceptor拦截器,在拦截器里统一地根据上下文动态赋值
测试:
@Resource
private AFeign aFeign;
@PostExchange(value = "/a")
public Mono<String> test(@RequestBody Entity entity) {
// 服务间调用的时候,HttpExchange如何添加自定义的请求头并把请求头转发给ServerA
// 有没有类似OpenFeign的RequestInterceptor拦截器,在拦截器里统一地根据上下文动态赋值
return aFeign.add(entity).flatMap(s->{
System.out.println(s);
return Mono.just(s);
}).doOnError(e-> System.out.println(e.getMessage()));
}
