我有一个Spring Boot应用程序,它运行Netty用于REST API。
我有一个WebExceptionHandler来处理可能发生的异常,这是可行的。它建立适当的响应并发送……
有关如何实现异常处理程序的更多信息将会很有帮助。 这是一个简单的实现,我遵循转换异常并记录它们。
@ControllerAdvice public class DefaultExceptionHandler extends ResponseEntityExceptionHandler { private static final Logger LOG = LoggerFactory.getLogger(DefaultExceptionHandler.class); private static String ERROR = "ERROR"; @ExceptionHandler(Exception.class) ResponseEntity<Map<String, Map<String, String>>> exception(Exception e) { Map<String,Map<String,String>> map = new HashMap<>(1); Map<String,String> m = new HashMap<>(1); m.put("message",e.getMessage()); map.put(ERROR, m); LOG.info("some error " + e); return new ResponseEntity<>(map, HttpStatus.INTERNAL_SERVER_ERROR); } }
另外不要忘记创建一个bean或将你的ExceptionHandler类添加到spring配置中。
@Bean public DefaultExceptionHandler defaultExceptionHandler(){ return new DefaultExceptionHandler(); }