Class ApiDocsController

java.lang.Object
org.praxisplatform.uischema.controller.docs.ApiDocsController

@RestController @RequestMapping("/schemas/filtered") public class ApiDocsController extends Object
Expoe o endpoint canonico /schemas/filtered.

Esta e a superficie estrutural central do starter para consumo metadata-driven. A partir de path + operation + schemaType, o controller resolve a operacao canonica, delega a leitura do documento OpenAPI ao servico apropriado e devolve apenas o fragmento estrutural relevante, enriquecido com metadados x-ui.

A classe nao concentra mais logica de grupo, cache de documento ou hashing estrutural. Essas responsabilidades pertencem a CanonicalOperationResolver, OpenApiDocumentService e SchemaReferenceResolver. O papel deste controller agora e orquestrar a resolucao canonica, selecionar o schema de request/response e aplicar os enriquecimentos finais visiveis para consumidores do contrato.

  • Constructor Details

    • ApiDocsController

      public ApiDocsController()
  • Method Details

    • getFilteredSchema

      @GetMapping public org.springframework.http.ResponseEntity<Map<String,Object>> getFilteredSchema(@RequestParam String path, @RequestParam(required=false,defaultValue="get") String operation, @RequestParam(required=false,defaultValue="false") boolean includeInternalSchemas, @RequestParam(required=false,defaultValue="response") String schemaType, @RequestParam(required=false) String idField, @RequestParam(required=false) Boolean readOnly, @RequestHeader(value="If-None-Match",required=false) String ifNoneMatch, @RequestHeader(value="X-Tenant",required=false) String tenant, Locale locale)
      Resolve e devolve o fragmento estrutural de schema para uma operacao OpenAPI concreta.

      O fluxo canonico desta operacao e: resolver group + path + method, carregar o documento OpenAPI do grupo, localizar o schema de request ou response, aplicar enriquecimentos x-ui e emitir o payload com schemaId/schemaUrl consistentes com a variante estrutural solicitada.

      Nesta lane, variacoes estruturais relevantes para o resultado incluem includeInternalSchemas, idField e readOnly. Os parametros tenant e locale continuam no boundary canonico, mas permanecem neutros para a estrutura retornada.

    • getFilteredSchema

      public org.springframework.http.ResponseEntity<Map<String,Object>> getFilteredSchema(String path, String operation, boolean includeInternalSchemas, String schemaType, String ifNoneMatch, String tenant, Locale locale)
    • findRequestSchema

      protected String findRequestSchema(com.fasterxml.jackson.databind.JsonNode pathsNode)
      Localiza o schema do corpo de requisicao para a operacao informada.
    • clearDocumentCache

      public void clearDocumentCache()
      Limpa os caches estruturais compartilhados de documento OpenAPI e hash de schema.