Perguntas frequentes sobre contrato metadata-driven, /schemas/filtered, runtime Angular oficial e trilha publica de guias.
E o modulo canonico da plataforma Praxis para publicar contratos metadata-driven no backend. Ele enriquece o OpenAPI com
x-ui, expõe superficies como /schemas/filtered e fornece controllers, services e repositorios base
para CRUD, filtros, options e documentacao.
A trilha principal de implementacao esta publicada no GitHub Pages e deve ser a primeira referencia para pessoas e LLMs:
Use GET /schemas/filtered com path, operation e schemaType para obter o schema
de request ou response enriquecido com x-ui.
curl -i "http://localhost:8080/schemas/filtered?path=/api/human-resources/pessoas/all&operation=get&schemaType=response"
curl -i "http://localhost:8080/schemas/filtered?path=/api/human-resources/pessoas/filter&operation=post&schemaType=request"
Referencia de API: ApiDocsController.
O starter combina grupos individuais por recurso, grupos agregados por contexto e um fallback application.
A resolucao automatica por path usa o best match mais especifico disponivel.
Referencias: DynamicSwaggerConfig e OpenApiGroupResolver.
POST /options/filter: para popular combos e autocomplete com busca paginada.GET /options/by-ids: para reidratar labels de valores ja selecionados, preservando a ordem dos IDs.Referencias: OptionDTO e Endpoints Overview.
Crie um DTO de filtro e anote os campos com @Filterable, informando a operacao e, quando necessario, a relacao no formato
"a.b.campo". O builder converte o DTO em Specifications JPA.
Referencias: Filterable e filters-overview.
Use AbstractReadOnlyService e AbstractReadOnlyController. Os endpoints de leitura, filtros, options e locate
continuam disponiveis; escritas retornam 405 Method Not Allowed por design.
Guia publico: READ-ONLY-VIEWS.
Sim. O repositorio publico praxis-ui-angular
publica as bibliotecas @praxisui/* usadas para consumir /schemas/filtered e renderizar formularios e tabelas
a partir do vocabulario x-ui.
# exemplo de instalacao em um host Angular novo
npm install @praxisui/core @praxisui/table @praxisui/dynamic-form @praxisui/crud
Guia publico: Guia 03 - Frontend - Angular CRUD Completo.
O starter expõe ETag e X-Schema-Hash para revalidacao condicional via If-None-Match.
Quando nada muda, o endpoint pode responder 304 Not Modified sem corpo.
Referencias: IfNoneMatchUtils e SchemaIdBuilder.
Edite src/main/javadoc/overview.html e os arquivos em src/main/javadoc/doc-files/. A publicacao no GitHub Pages
e feita pelo workflow .github/workflows/docs.yml, que gera o Javadoc, converte os arquivos Markdown de docs/
em HTML e publica tudo junto.