Class OpenApiGroupResolver

java.lang.Object
org.praxisplatform.uischema.util.OpenApiGroupResolver

public class OpenApiGroupResolver extends Object
Resolvedor de grupos OpenAPI com estrategia de best match.

Esta classe decide qual grupo OpenAPI melhor representa um determinado path HTTP. Em vez de retornar o primeiro match encontrado, ela percorre todos os grupos registrados e prioriza o padrao mais especifico, o que evita cair em grupos genericos como application quando existe um grupo mais aderente ao recurso.

Esse comportamento e central para a superficie documental do starter, especialmente para /schemas/filtered e /schemas/catalog, que dependem de uma resolucao confiavel do documento OpenAPI fonte.

Since:
1.0.0
See Also:
  • Constructor Details

    • OpenApiGroupResolver

      public OpenApiGroupResolver(List<org.springdoc.core.models.GroupedOpenApi> groupedOpenApis)
    • OpenApiGroupResolver

      public OpenApiGroupResolver(Supplier<List<org.springdoc.core.models.GroupedOpenApi>> groupedOpenApisSupplier)
  • Method Details

    • resolveGroup

      public String resolveGroup(String requestPath)
      Resolve o grupo OpenAPI mais especifico para o path informado.

      O algoritmo percorre todos os GroupedOpenApi registrados, normaliza os pathsToMatch removendo wildcards e escolhe o match de maior comprimento. Assim, paths especificos vencem pads genericos.

      Parameters:
      requestPath - path da requisicao HTTP
      Returns:
      nome do grupo com melhor match ou null quando nenhum padrao se aplicar