Spring-WebFlux实战案例-流式
在Spring WebFlux中,我们可以使用Flux来创建一个流式响应。以下是一个简单的例子,展示如何使用Flux创建一个流式响应:
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import reactor.core.publisher.Flux;
@RestController
public class StreamingController {
@GetMapping("/stream")
public Flux<String> stream() {
return Flux.just("Hello", "World", "!")
.delayElements(Duration.ofSeconds(1)) // 每秒发送一个元素
.log(); // 添加日志记录
}
}
在这个例子中,我们创建了一个名为StreamingController
的控制器,并定义了一个名为stream
的方法。这个方法返回一个Flux<String>
,它每秒发送一个元素,内容分别是"Hello","World","!"。我们使用delayElements
方法来设置发送元素的间隔,并使用log
方法来记录流中的事件。
访问/stream
端点时,客户端会接收到这样的流式响应。由于WebFlux是响应式的,服务端不会阻塞,可以同时处理多个请求。
评论已关闭