Olá Fiz os cursos de Spring aqui do Alura e estou desenvolvendo uma aplicação com as views padronizadas (arquivos jsp). Qual a melhor forma de exibir erros em situações como essas:
1 - Usuário tenta remover entidade através de um link, porém outra pessoa responsável pelo sistema já fez a remoção minutos antes; 2 - Usuário tenta carregar dados de uma entidade no form para fazer edição dos dados, porém, por algum motivo, ele coloca a variável errada no link do tipo GET; 3 - Usuário tenta carregar dados de uma entidade através de link salvo, porém entidade não existe mais;
Qual a melhor forma de exibir essas informações de erro? Melhor criarmos uma exception e direcionar o usuário para uma jsp padrão com a informação do erro em questão ou simplesmente fazer uma validação no próprio controller e mandar uma mensagem de erro via redirect (redirectAttributes) ?
Se pensarmos bem, Controller não é local para fazer validações, porém redirecionar o usuário para uma jsp de erros não me parece tão interessante, pois ele terá de voltar para tela onde estava. Penso também que, como o próprio nome diz, Exceptions são "excessões", logo, esses casos não deveria acontecer e o usuário quem forçou tal erro.
Uma sugestão de boas práticas quanto ao uso de exceptions em sistemas web seria útil também, caso alguém possa sugerir.
Abraços para a equipe.