Swagger / OpenAPI

仅在分析 RouterFunction 和处理程序源时更改 OpenAPI JSON 时重新写入。


功能端点模式

ApiAccountRouter.java
java
@Bean
public RouterFunction<ServerResponse> apiAccount(ApiAccountHandler handler) {
  return route()
      .nest(path("/api/account"), builder -> builder
          .nest(path("/search"), search -> search
              .GET("/get-detail/{accountName}", handler::getDetail)
              .GET("/get-list", handler::getList)))
      .build();
}

将嵌套路径、HTTP方法和处理程序方法引用组合以构建端点。处理程序解析器推断请求主体和响应发布者类型。

SwaggerJsonFileWatcher.Config

watchDirectory

基本 src/main/java

swaggerOutputFile

默认src/main/resources/static/swagger.json

projectMode

默认FUNCTIONAL_ENDPOINT,可选MVC

addDecompileJar / addDecompileJarClass

外部jar类型的源分析

addSourceClasspath

用于符号解析的源/类路径

customTypeMapper

接收类和模式映射以应用自定义模式

修正推断的注解

java
@SelectedRequestParam(
    key = "pageSize",
    required = false,
    nullable = true,
    type = Integer.class
)
Integer pageSize = request.queryParam("pageSize").map(Integer::valueOf).orElse(null);

@SelectedResponseBody(type = MemberDetailResponse.class)
Mono<MemberDetailResponse> response = service.getDetail(accountName);

仅在变更时写入

如果生成的结果与现有 JSON 相同,则不会不必要地更改文件时间戳。这有利于减少前端监视器检测到 swagger 文件更改时的重生循环。

© 2026 Byeolnaerim. 保留所有权利.介绍隐私政策