Kotlin + Webflux를 이용해서 스터디를 하는중에 Flux데이터를 Interval을 줘서 반환할 경우 기존 Client에서는 어떻게 받을 것인가를 고민중에 있었다.
예로 아래와 같이 반환될 경우...
Router
@Bean
fun routeFunctionPlayStream(handler: GameHandler) : RouterFunction<ServerResponse> = router {
("/").nest {
GET("/reactive/play-stream", handler::playInterval)
}
}
Handler
fun playInterval(req: ServerRequest): Mono<ServerResponse>{
...
return ServerResponse.ok().bodyToServerSentEvents(streamWiners)
}
일반적인 JQuery의 Ajax는 당연히 받지 못한다.
흠..
현재까지 찾아본 방식은 요로코롬 해보는 것이 맞을 듯 하다.
https://golb.hplar.ch/2017/03/Server-Sent-Events-with-Spring.html
뭐..해보고 안되면 다른걸 찾아 보자.