Swagger / OpenAPI

Reescreve o JSON do OpenAPI apenas quando há alterações na source da RouterFunction e do handler.


Modo de endpoint funcional

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

Combina o caminho aninhado, o método HTTP e a referência do método do manipulador para compor o endpoint. O parser do manipulador infere o tipo do corpo da requisição e do publicador de resposta.

SwaggerJsonFileWatcher.Config

diretórioDeObservação

padrão src/main/java

swaggerOutputFile

Padrão src/main/resources/static/swagger.json

projectMode

Padrão FUNCTIONAL_ENDPOINT, opção MVC

addDecompileJar / addDecompileJarClass

análise de fonte do tipo jar externo

addSourceClasspath

source/classpath para resolução de símbolos

customTypeMapper

Recebe a classe e o mapa de esquema para aplicar um esquema personalizado.

Anotação para correção de inferência

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

Escrever apenas se houver alteração

Se o resultado da geração for igual ao JSON existente, não altere o timestamp do arquivo desnecessariamente. Isso ajuda a reduzir loops de regeneração na estrutura onde o watcher do front-end detecta alterações no arquivo swagger.

© 2026 Byeolnaerim. Todos os direitos reservados.IntroduçãoPolítica de Privacidade