Class CachedOpenApiDocumentService
- All Implemented Interfaces:
OpenApiDocumentService
OpenApiDocumentService com cache em memoria.
Mantem cache separado para documentos OpenAPI por grupo e para hashes estruturais por
schemaId. O fetch do documento continua delegando a OpenApiDocsSupport; esta
classe apenas concentra a politica de memoizacao e a traducao de falhas em excecoes estruturais
adequadas para os controllers canonicamente expostos.
-
Constructor Summary
ConstructorsConstructorDescriptionCachedOpenApiDocumentService(org.springframework.web.client.RestTemplate restTemplate, com.fasterxml.jackson.databind.ObjectMapper objectMapper, OpenApiDocsSupport openApiDocsSupport) -
Method Summary
Modifier and TypeMethodDescriptionvoidLimpa os caches estruturais mantidos pela implementacao.com.fasterxml.jackson.databind.JsonNodegetDocumentForGroup(String groupName) Retorna o documento OpenAPI do grupo informado.getOrComputeSchemaHash(String schemaId, Supplier<com.fasterxml.jackson.databind.JsonNode> payloadSupplier) Retorna o hash estrutural canonico para oschemaIdinformado.resolveGroupFromPath(String path) Resolve o grupo OpenAPI associado ao path informado.
-
Constructor Details
-
CachedOpenApiDocumentService
public CachedOpenApiDocumentService(org.springframework.web.client.RestTemplate restTemplate, com.fasterxml.jackson.databind.ObjectMapper objectMapper, OpenApiDocsSupport openApiDocsSupport)
-
-
Method Details
-
resolveGroupFromPath
Description copied from interface:OpenApiDocumentServiceResolve 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.
- Specified by:
resolveGroupFromPathin interfaceOpenApiDocumentService
-
getDocumentForGroup
Description copied from interface:OpenApiDocumentServiceRetorna 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/filterede/schemas/catalog.- Specified by:
getDocumentForGroupin interfaceOpenApiDocumentService
-
getOrComputeSchemaHash
public String getOrComputeSchemaHash(String schemaId, Supplier<com.fasterxml.jackson.databind.JsonNode> payloadSupplier) Description copied from interface:OpenApiDocumentServiceRetorna o hash estrutural canonico para oschemaIdinformado.O supplier deve produzir o payload estrutural canonico do schema. O hash nao deve refletir campos puramente documentais ou ruido nao estrutural.
- Specified by:
getOrComputeSchemaHashin interfaceOpenApiDocumentService
-
clearCaches
public void clearCaches()Description copied from interface:OpenApiDocumentServiceLimpa os caches estruturais mantidos pela implementacao.A limpeza deve abranger tanto documentos OpenAPI quanto hashes estruturais ja calculados.
- Specified by:
clearCachesin interfaceOpenApiDocumentService
-