Springboot Learning - Configurações globais de manuseio de exceções (retornar ao JSON)
precisar
ilustrar
@Controlleradvice
Esta anotação é uma nova anotação adicionada após a primavera 2.3. É usado principalmente para fornecer assistência a alguns aprimoramentos baixos invasivos das necessidades comuns do controlador e é usado no método de anotação @RequestMapping.
@ExceptionHandler
Esta anotação é uma anotação usada com @ExceptionHandler. É um manipulador de erros personalizado. Você pode montar a corda JSON sozinho e retornar à página.
Código
Crie uma aula de manuseio de exceção global da seguinte maneira:
Se diferentes exceções tiverem operações diferentes para implementar, você só precisará alterar o valor do valor do @ExceptionHandler para ser diferente. Várias exceções diferentes podem ser tratadas ao mesmo tempo, mas o estado de inclusão não pode ocorrer.
importar javax.servlet.http.httpServletRequest; importar org.springframework.web.bind.annotation.controlleradvice; importar org.springframework.web.bind.annotation.exceptionHandler; org.springframework.web.bind.annotation.Responsebody; @controleradvice @ResponseBodyPublic Classe GlobalexceptionHandler { / ** * todas as exceções relatadas erros * @param solicitação * @Param Exception * @return * @Throws Exception * / @ExceptionHandler (value = excepcion.Class) Public String) {excepcion.printStackTrace (); System.out.println ("Relatei um erro:"+excepção.getLocalizedMessage ()); System.out.println ("Relatei um erro:"+excepção.getcause ()); System.out.println ("Relatei um erro:"+excepção.getSuppressed ()); System.out.println ("Relatei um erro:"+excepção.getMessage ()); System.out.println ("Relatei um erro:"+excepção.getStackTrace ()); Retorne "Exceção do servidor, entre em contato com o administrador!"; }}Simule uma aula de arremesso de exceção. O exemplo a seguir é lançar uma exceção de ponteiro nulo e o denominador não é uma exceção
importar org.springframework.steretype.controller; importar org.springframework.web.bind.annotation.requestmapping; importar org.springframework.web.bind.annotation.ResponseBody; test () {mensagem msg = null; msg.toString (); createException (); retornar "eu sou normal"; } private void createexception () {int i = 5/0; }}Iniciar os resultados da troca, execução
Como a string retornada, você também pode usar a classe de ferramentas JSON para encapsulá -la e retornar uma string json
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.