Giriş
SSE kullanmak için 3 tane seçenek var
1. Flux<String> döndürmek
Örnek
Şöyle yaparız
@GetMapping(path = "/stream-flux", produces = MediaType.TEXT_EVENT_STREAM_VALUE)public Flux<String> streamFlux() {return Flux.interval(Duration.ofSeconds(1)).map(sequence -> "Flux - " + LocalTime.now().toString());}
2. Flux<ServerSentEvent> döndürmek
ServerSentEvent bir spring sınıfı. Açıklaması şöyle
Spring introduced support for SSE specification in version 4.2 together with a ServerSentEvent class. The benefit here is that we can skip the text/event-stream media type explicit specification, as well as we can add metadata such as id or event type.
Örnek
Şöyle yaparız
@GetMapping("/sse-flux-2")public Flux<ServerSentEvent> sseFlux2() {return Flux.interval(Duration.ofSeconds(1)).map(sequence -> ServerSentEvent.builder().id(String.valueOf(sequence)).event("EVENT_TYPE").data("SSE - " + LocalTime.now().toString()).build());}
3. SseEmitter Sınıfını Kullanmak
SseEmitter yazısına taşıdım.
Hiç yorum yok:
Yorum Gönder