@Anotação em Java

Eu tenha uma classe,

Classe{
String atibuto;
Classe2 atributo;

}

Essa Classe está anotada com RequestBody no controler, ela recebe os valores passado via requisição Http

Eu criei uma @anotacao para validar os valores que o usuario passou no atributo.

Classe2{

@AnotacaoCriadaParaValidarData
String data;

}

Porém, quando faço a requisição para o serviço a anotação nao funciona na Classe2 declarada como atributo da principal(Classe)

Existe alguma forma de validar o atributo com a anotação?

Estou usando spring, tenho uma classe controller que recebe a requisição via post com json no body.

Mostra sua interface de validação e a implementação dela, e também a classe que você está anotando dentro da classe principal, assim fica mais fácil de alguém conseguir te ajudar!

A ideia é mais saber se consigo utilizar anotação em uma subclasse, quando declaro como atributo dentro de uma classe outra classe.

Essa anotação @AnotacaoCriadaParaValidarData, foi vc que criou? Poderia postar o código dela?

Anotações não são “mágicas”, não basta criar @QualquerCoisa e pronto. Se vc cria uma anotação própria, em algum lugar tem que ter o código para processá-la (basicamente, um código que verifica se a anotação está presente e toma alguma ação baseada nisso - veja esse exemplo para ter uma ideia).

1 curtida

Desde que você a implemente para ela ter este comportamento deve funcionar, caso contrário, não!

O que ela deve ter para se comporta assim?

Olha o exemplo que o @hugokotsubo compartilhou mais acima de como funcionam as anotações e cria a sua com a implementação que você precisa!