Desenvolvimento
Backend
Padrões de implementação da API Micronaut.
Organização
Cada domínio segue a mesma separação:
com.erplider.<modulo>/
├── domain/
├── application/
└── infra/Use essa estrutura antes de criar novos pacotes paralelos.
Autorização
Endpoints protegidos usam:
@RequiresPermission("resource:action")O token carrega roles e permissões, mas a autorização real acontece no interceptor de permissões.
Persistência
- PostgreSQL para dados principais.
- Flyway para migrations.
- Hibernate em modo de validação.
- MongoDB apenas para auditoria.
Auditoria
Use @Audit em operações sensíveis:
- criação;
- atualização;
- soft delete;
- hard delete;
- restore;
- aprovar/rejeitar/fechar/reabrir;
- atribuir/remover vínculos.
Erros e contratos
Prefira exceções de domínio com mensagem clara. A UI exibe mensagens do backend quando disponíveis, então mensagens genéricas tornam o produto pior.
Referências: