遇上RxJava
@RestController
@RequestMapping(path = "/api/rxjava")
public class RxJavaController {
@GetMapping(value = "/observable")
public Observable<String> observableString() {
return Observable.just("observable");
}
}
遇上Reactor
@RestController
@RequestMapping(path = "/api/webflux")
public class WebFluxController {
@GetMapping(value = "mono")
public Mono<String> mono() {
return Mono.just("mono");
}
@GetMapping(value = "flux")
public Flux<String> flux() {
return Flux.just("flux", "string");
}
}
源码解析
主要看这两个类
- ReactiveAdapterRegistry
- ReactiveTypeHandler
总结
SpringMVC支持响应式了