1

背景

将 API-First 设计与 Spring Boot 和项目 Reactor 的 WebFlux 一起使用。值得庆幸的是,Open API Generator 项目编写时为 Gradle 版本 5.0.1)将仅从 Open API 规范生成 WebFlux 反应式接口,该规范的返回签名用于典型的 RESTful VERB 操作,如下所示:

返回签名

它们首先异步提供响应状态和标头,然后是响应正文,也是异步的,其次。

Mono<ResponseEntity<Flux<UserDTO>>> getAllUsers

Mono<ResponseEntity<UserDTO>> getUserById

Mono<ResponseEntity<Void>> updateUser

注意Spring 团队有一些有用的文档显示了WebFlux 响应实体响应选项

注意接口代码生成是通过 Mustache 模板管理的,所以如果这不是一个好的做法,我可以覆盖并回馈

问题

您是否希望典型代码大致如下所示:

    @Override
    public Mono<ResponseEntity<Flux<UserDTO>>> getAllUsers(@Min(0) @Valid Integer offset, @Min(20) @Max(100) @Valid Integer limit, ServerWebExchange exchange) {
        return Mono.just(new ResponseEntity<>(userService.findAllUsers(offset, limit), HttpStatus.OK));
    }

使用这种方法,您是否需要在发送正文之前知道状态/标题,即在您检索正文数据之前(或执行其他任意逻辑)?问题是数据检索或定义的逻辑可能需要更改消费者的状态或标题?

4

0 回答 0