Swagger / OpenAPI

Schreibt das OpenAPI-JSON nur neu, wenn Änderungen an der RouterFunction und der Handler-Quelle analysiert werden.


Funktionaler Endpunktmodus

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();
}

Kombiniert verschachtelte Pfade, HTTP-Methoden und Handler-Methodenreferenzen, um Endpunkte zu erstellen. Der Handler-Parser leitet den Anfragekörper und den Typ des Antwortpublishers ab.

SwaggerJsonFileWatcher.Config

watchDirectory

Standard src/main/java

swaggerOutputFile

Standard src/main/resources/static/swagger.json

projectMode

Standard FUNCTIONAL_ENDPOINT, Auswahl MVC

addDecompileJar / addDecompileJarClass

Analyse von Quellcodes externer Jar-Typen.

addSourceClasspath

Quell-/Classpath für die Symbolauflösung.

customTypeMapper

Nimmt Klassen- und Schema-Maps entgegen, um benutzerdefinierte Schemata anzuwenden.

Annotation zur Korrektur der Inferenz

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);

Nur bei Änderungen schreiben

Wenn das Generationsergebnis mit dem vorhandenen JSON übereinstimmt, wird der Dateistempel nicht unnötig geändert. Dies ist vorteilhaft, um die Rekursionsschleife bei der Erkennung von Änderungen an der Swagger-Datei durch den Front-Watcher zu reduzieren.

© 2026 Byeolnaerim. Alle Rechte vorbehalten.EinführungDatenschutzrichtlinie