Praxis Metadata Starter — API Javadoc

Praxis Metadata Starter

Biblioteca canonica da plataforma Praxis para publicar contratos metadata-driven no backend. O starter enriquece o OpenAPI com x-ui, expõe superficies como /schemas/filtered e fornece infraestrutura base para CRUD, filtros, options, documentacao filtrada e consumo por runtimes e LLMs.

Uploads e arquivos: este starter trata de metadados de UI, contrato e documentacao. Gestao de arquivos pertence ao modulo dedicado do ecossistema.

Fluxo recomendado de implementacao

O que este starter entrega

  • Controllers base com endpoints de CRUD, filtros, options e schemas.
  • Contrato enriquecido com x-ui a partir de anotações Java e Bean Validation.
  • Suporte a grupos OpenAPI e leitura filtrada por /schemas/filtered.
  • Filtros metadata-driven com @Filterable e Specifications JPA.
  • Read-only views com AbstractReadOnlyController e AbstractReadOnlyService.
  • Headers de cache e ETag para revalidacao condicional de schemas.

Como comecar

<dependency>
  <groupId>io.github.codexrodrigues</groupId>
  <artifactId>praxis-metadata-starter</artifactId>
  <version>5.0.0-rc.2</version>
</dependency>

Depois, anote DTOs com @UISchema, exponha controllers com @ApiResource e siga os guias publicados no GitHub Pages para fechar o fluxo completo.

Referencias importantes

Packages
Package
Description
Núcleo do Praxis Metadata Starter com enums, propriedades e contratos que descrevem o vocabulário x-ui compartilhado entre backend e frontend.
 
 
Conjunto de anotações que descrevem recursos REST, agrupamentos OpenAPI e metadados de interface x-ui.
 
Auto-configuracoes Spring Boot do starter.
Constantes compartilhadas entre controladores, serviços e utilitários para manter consistência em paths e nomes de recursos.
Camada base de controllers REST metadata-driven da plataforma.
Endpoints e componentes que publicam documentacao OpenAPI enriquecida.
DTOs utilitarios e contratos leves usados pela superficie publica do starter.
Extensoes do pipeline OpenAPI/SpringDoc para gerar contratos enriquecidos com x-ui.
Anotações responsáveis por descrever metadados x-ui aplicados a campos de DTOs e entidades.
Anotações que marcam campos e DTOs como participantes do mecanismo de filtros dinâmicos.
DTOs, contratos e adaptadores utilizados para construir filtros dinâmicos a partir de anotações @Filterable.
 
 
Implementacoes de Specification e builders que convertem DTOs anotados em consultas dinamicas.
 
Funções e utilitários para canonização e hash de schemas OpenAPI, garantindo identificadores e ETags estáveis.
Utilitários HTTP utilizados pelos controladores de documentação e respostas padronizadas.
Utilitários para construção de identificadores e nomes estáveis usados em schemas, endpoints e links.
Mapeadores base (MapStruct) para conversão entre entidades, DTOs e opções de UI.
Configurações compartilhadas de mapeamento (MapStruct), como estratégias de nomeação, nullability e políticas de atualização.
Tipos e helpers utilizados para formatar campos numéricos em formulários e relatórios.
 
 
 
 
Repositórios base para operações CRUD e consultas dinâmicas via Specification.
Tratamento consistente de erros REST, incluindo categorias e detalhes padronizados para respostas da API.
Exceções específicas expostas pelo manipulador global de erros.
Modelos canonicos de resposta REST da plataforma.
 
Serviços base que orquestram repositórios, Specifications e convenções corporativas.
Anotações auxiliares usadas por serviços base (ex.: ordenação padrão).
 
 
 
 
 
Utilitarios estruturais do starter.