Olá. Terminei as 3 partes do curso de Spring Boot e estou com algumas dúvida que juntei durante o curso.
No projeto do curso, a pilha de exceção foi desabilitada por questões de segurança. Na nossa instituição, nós corrigimos bugs reportados pelo usuário usando prints da tela contendo a pilha de exceção, porque temos uma grande dificuldade em entender o erro sem ver a pilha. Queria saber qual é a melhor maneira de coletar dados para depuração de erros inesperados reportados pelo usuário.
Por muito tempo fizemos aplicações num pacote .war e colocamos todos os pacotes .war num mesmo servidor Tomcat. Cada projeto é distinguido com um prefixo na URL com o nome do projeto. No curso foi gerado um arquivo .jar que é executado já criando o servidor só para o projeto. Queria saber como executar dois ou mais projetos no mesmo servidor diferenciando somente pelo prefixo na URL.
O projeto tem a tabela médico com email e CRM marcados com unique e esse erro não está sendo tratado. Adicionei uma função na classe TratadorDeErros para DataIntegrityViolationException, mas na função não consigo saber qual é a constraint com erro e nem a coluna para dar uma resposta mais clara ao usuário.
O projeto está cheio de alertas do Java dizendo: ResponseEntity is a raw type. References to generic type ResponseEntity should be parameterized Existe alguma configuração para ocultar esses alertas?
Percebi que tem muita conversão de DTO para entidade e vice-versa, que é algo braçal e mais complexo para dar manutenção quando uma coluna é adicionada ou removida. Pensei em usar Java Reflection, mas ouvi dizer que prejudica a performance. Compensa usar Java Reflection para fazer essa conversão?