Olá pessoal, estamos criando uma nova aplicação com springboot aqui na empresa. E o que eu preciso fazer é uma forma de validar o token que receberemos no cabeçalho do request, antes da chamada do método mapeado com o @RequestMapping
Esse trecho de código abaixo é um exemplo de como nossos código irão ficar.
@RequestMapping(value="/report", produces = { "application/json; charset=utf-8" }, method = RequestMethod.GET)
@ResponseBody
@Override
public String execute() {
logger.debug("Olá");
service.execute();
String retorno = "{\"total\":10}";
return retorno;
}
Minha ideia é criar uma classe Pai que irá conter o método validateToken, que irá realizar a validação do token e se este estiver de qualquer forma inválido, então o método execute não será chamado.
Então minha dúvida é, como criar a classe Pai que conterá o método validateToken, que deverá ser chamado antes do método execute da classe Filho. E no caso da validação indicar que o token não está válido, finalizar a execução da chamada, não chamando o método execute da classe Filho.
Até agora, vi que posso colocar na classe Pai um método anotado com @ModelAttribute, e se eu lançar uma RuntimeException o método execute da classe Filho não é chamado, mas aí o stack da RuntimeException é exibido no console e ocorre um Whitelabel Error Page
@ModelAttribute
public void validateToken() {
logger.debug("Validando o token");
throw new RuntimeException("Parou aqui no validateToken");
}
Obrigado pela ajuda pessoal.
Abs, Tiago