Este é um mini projeto de estudos criado para explorar validações condicionais avançadas em Spring Boot utilizando o Jakarta Bean Validation.
O foco principal é demonstrar como criar anotações de validação personalizadas que dependem de múltiplos campos em um mesmo objeto, aplicando regras de negócio de forma condicional.
- Estudar como implementar validações condicionais com
ConstraintValidator. - Compreender como separar DTOs, modelos de domínio e validators em uma estrutura de pacotes organizada.
- Entender como o Spring Boot integra Bean Validation automaticamente em endpoints REST.
- Aprender a retornar mensagens de erro customizadas quando regras específicas não são atendidas.
O projeto está organizado de forma a facilitar a leitura e a escalabilidade:
controller/ -> Endpoints REST
dto/ -> Objetos de entrada/saída
model/ -> Enums e classes de domínio
validation/ -> Anotações e validadores customizados
Essa estrutura permite que o projeto cresça sem perder a organização e a clareza.
- Java 21
- Spring Boot
- Jakarta Bean Validation (javax.validation / jakarta.validation)
- Maven
- Clone o repositório:
https://github.com/Lu1sGabriel/Spring_Boot_Advanced_Conditional_Validation.git - Acesse a pasta do projeto:
- Execute o projeto:
mvn spring-boot:run - Testar os endpoints:
- Use o arquivo
HttpRequests.httpque acompanha o projeto: - Abra-o em um editor que suporte arquivos
.httpe execute as requisições diretamente para testar os endpoints.
- Use o arquivo
- Melhor uso do
jakarta.Validation - Criação de anotações de validação customizadas.
- Aplicação de regras condicionais entre múltiplos campos.
- Integração de Bean Validation com Spring REST Controllers.
Este repositório faz parte dos meus estudos contínuos sobre validações usando o
spring validationem aplicações modernas Java com Spring Boot.