Solon v3.0.6

使用 Vert.X 的响应式组件

</> markdown

以 webclient 为例。应该可以用于开发些接口网关

1、使用 WebClient

  • 引入依赖包
<dependency>
    <groupId>io.vertx</groupId>
    <artifactId>vertx-web-client</artifactId>
    <version>${vertx.version}</version>
</dependency>
  • 添加 Vertx 配置器(可用配置各种响应式组件)
@Configuration
public class VertxConfig {
    @Bean
    public Vertx vertx() {
        return Vertx.vertx();
    }

    @Bean
    public WebClient webClient(Vertx vertx) {
        return WebClient.create(vertx);
    }
}
  • 使用 WebClient
@Controller
public class DemoController {
    @Inject
    WebClient webClient;

    @Mapping("/hello")
    public Mono<String> hello() {
        return Mono.create(sink -> {
            webClient.getAbs("https://gitee.com/noear/solon")
                    .send()
                    .onSuccess(resp -> {
                        sink.success(resp.bodyAsString());
                    }).onFailure(err -> {
                        sink.error(err);
                    });
        });
    }
}