solon-web-rx
此插件,由社区成员(阿楠同学)协助贡献
<dependency>
<groupId>org.noear</groupId>
<artifactId>solon-web-rx</artifactId>
</dependency>
1、描述
基础扩展插件,为 Solon Web 开发,添加响应式接口 (io.projectreactor) 、或异步支持。支持 ndjson 输出。
所有响应式框架,都可以互通互用,比如:
- io.projectreactor.rabbitmq:reactor-rabbitmq
- io.projectreactor.kafka:reactor-kafka
- io.vertx:vertx-web-client
- 等等...
兼容 org.reactivestreams 的响应式体系都可直接可用。其它的,简单转换即可。
2、代码应用
@Controller
public class DemoController {
@Mapping("/test1")
public Mono<String> test1(String name) {
return Mono.just("Hello " + name);
}
@Mapping("/test2")
public Mono test2() {
return Mono.create(call -> {
throw new IllegalStateException("test");
});
}
@Mapping("/test3")
public Mono<Void> test3() {
return Mono.empty();
}
@Mapping("/hello4")
public Mono<String> hello4(String name) {
return Mono.fromSupplier(() -> {
return "Hello " + name;
});
}
}
提醒:使用响应式处理的函数,可能会让一些注解失效。比如:事务、缓存注解等。