Interface OpenApiDocumentService

All Known Implementing Classes:
CachedOpenApiDocumentService

public interface OpenApiDocumentService
Fronteira canonica para documentos OpenAPI usados pelo runtime metadata-driven.

Este servico centraliza quatro responsabilidades compartilhadas: resolucao do grupo a partir do path, leitura do documento OpenAPI do grupo, cache estrutural desses documentos e calculo de hash canonico para payloads de schema.

  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Limpa os caches estruturais mantidos pela implementacao.
    com.fasterxml.jackson.databind.JsonNode
    Retorna o documento OpenAPI do grupo informado.
    getOrComputeSchemaHash(String schemaId, Supplier<com.fasterxml.jackson.databind.JsonNode> payloadSupplier)
    Retorna o hash estrutural canonico para o schemaId informado.
    Resolve o grupo OpenAPI associado ao path informado.
  • Method Details

    • resolveGroupFromPath

      String resolveGroupFromPath(String path)
      Resolve o grupo OpenAPI associado ao path informado.

      Implementacoes podem normalizar o path conforme necessario para reaproveitar a mesma logica de roteamento usada pelos grupos dinamicos do SpringDoc.

    • getDocumentForGroup

      com.fasterxml.jackson.databind.JsonNode getDocumentForGroup(String groupName)
      Retorna o documento OpenAPI do grupo informado.

      Implementacoes podem buscar o documento remotamente e reutilizar cache interno. Falhas de resolucao ou fetch devem emergir como excecao estrutural, pois essa chamada alimenta superficies canonicas como /schemas/filtered e /schemas/catalog.

    • getOrComputeSchemaHash

      String getOrComputeSchemaHash(String schemaId, Supplier<com.fasterxml.jackson.databind.JsonNode> payloadSupplier)
      Retorna o hash estrutural canonico para o schemaId informado.

      O supplier deve produzir o payload estrutural canonico do schema. O hash nao deve refletir campos puramente documentais ou ruido nao estrutural.

    • clearCaches

      void clearCaches()
      Limpa os caches estruturais mantidos pela implementacao.

      A limpeza deve abranger tanto documentos OpenAPI quanto hashes estruturais ja calculados.