Spring WebFlux:响应式编程
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import reactor.core.publisher.Flux;
import java.time.Duration;
import java.util.stream.Stream;
@RestController
public class ReactiveController {
// 使用Flux<String>创建一个响应式响应流
@GetMapping("/stream")
public Flux<String> stream() {
return Flux.fromStream(Stream.of("Hello", "World"))
.delayElements(Duration.ofSeconds(1)) // 每个元素间隔1秒发送
.log(); // 添加日志记录
}
}
这个例子中,我们创建了一个简单的Spring WebFlux应用,其中包含一个响应式的控制器。当客户端调用/stream
端点时,它会收到一个每隔1秒更新一次的响应流。这个流是通过Flux来实现的,它是一个可以发出0到N个元素的响应式Publisher。我们使用Flux.fromStream
来从一个标准Java流创建Flux,并通过delayElements
来设置元素间的时间间隔。最后,我们使用.log()
来记录流中的事件,便于调试。
评论已关闭