//@Service public class SseWebClient extends SseEventService { private final WebClient client; public SseWebClient(WebClient.Builder builder) { this.client = builder.baseUrl("http://mbiolance-service-message") .defaultHeader("Authorization","Bearer ADMIN-TEMPLATE") .build(); } @Override public Mono<String> createEvent(LiveUpdate liveUpdate) { return client.post().uri("/sse/events") .body(Mono.just(liveUpdate),LiveUpdate.class) .retrieve() .bodyToMono(String.class); } }
@Configuration public class WebClientConfig { @LoadBalanced @Bean public WebClient.Builder register() { return WebClient.builder(); } // @LoadBalanced // @Bean // public WebReactiveFeign.Builder register(){ // return WebReactiveFeign.builder(); // } // @Bean // public ReactiveHttpRequestInterceptor r1() { // return new ReactiveHttpRequestInterceptor() { // // @Override // public Mono<ReactiveHttpRequest> apply(ReactiveHttpRequest t) { // Map<String, String> headers = ThreadLocalUtil.getCurrentHeaders(); //// Map<String, String> requestMap = ThreadLocalUtil.get(); //// SysUserDto user = SysUserInfoContext.getUser(); // t.headers().put("Authorization", Arrays.asList("Bearer ADMIN-TEMPLATE")); // return Mono.just(t); // } // }; // } ////// // @Bean // public ReactiveHttpRequestInterceptor kuaidiInterceptor() { // Mono.empty().subscriberContext(context -> { // Context context1 = context.put("key", "Hello"); // System.out.println((String) context1.get("key")); // return context1; // }); // return reactiveHttpRequest -> // Mono.subscriberContext().map(ctx -> { //// if (ctx.isEmpty()) { //// return reactiveHttpRequest; //// } // reactiveHttpRequest.headers().put("Authorization", // Arrays.asList("Bearer ADMIN-TEMPLATE")); // return reactiveHttpRequest; // }); //} }