WebClient

最后发布时间:2025-02-10 10:19:34 浏览量:
//@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;
//            });
//}

}

快捷入口
java 思维导图 浏览PDF 下载PDF
分享到:
标签