Swagger / OpenAPI

僅在分析 RouterFunction 和 handler source 後變更 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. 版權所有。介紹隱私政策