Spring Boot教程九:捕获全局异常(二)
2018-02-10 13:22
891 查看
1、在执行@RequestMapping时,进入逻辑处理阶段前。譬如传的参数类型错误@ControllerAdvice
public class GlobalExceptionHandler extends ResponseEntityExceptionHandler{
/**
* 在controller里面内容执行之前,校验一些参数不匹配啊,Get post方法不对啊之类的
*/
@Override
protected ResponseEntity<Object> handleExceptionInternal(Exception ex, Object body, HttpHeaders headers, HttpStatus status, WebRequest request) {
return new ResponseEntity<Object>(new ApiResult(ResultCode.METHOD_NOT_ALLOWED.getCode(),ResultMessage.METHOD_NOT_ALLOWED.getMessage()), status);
}
}
public class FinalExceptionHandler implements ErrorController {
@Override
public String getErrorPath() {
return "/error";
}
@RequestMapping(value = "/error")
@ResponseBody
public ApiResult error(HttpServletResponse resp, HttpServletRequest req) {
// 错误处理逻辑
return new ApiResult(ResultCode.NO_URL.getCode(),ResultMessage.NO_URL.getMessage());
}
}
public class GlobalExceptionHandler extends ResponseEntityExceptionHandler{
/**
* 在controller里面内容执行之前,校验一些参数不匹配啊,Get post方法不对啊之类的
*/
@Override
protected ResponseEntity<Object> handleExceptionInternal(Exception ex, Object body, HttpHeaders headers, HttpStatus status, WebRequest request) {
return new ResponseEntity<Object>(new ApiResult(ResultCode.METHOD_NOT_ALLOWED.getCode(),ResultMessage.METHOD_NOT_ALLOWED.getMessage()), status);
}
}
2、在进入Controller之前,譬如请求一个不存在的地址,404错误。@RestController
public class FinalExceptionHandler implements ErrorController {
@Override
public String getErrorPath() {
return "/error";
}
@RequestMapping(value = "/error")
@ResponseBody
public ApiResult error(HttpServletResponse resp, HttpServletRequest req) {
// 错误处理逻辑
return new ApiResult(ResultCode.NO_URL.getCode(),ResultMessage.NO_URL.getMessage());
}
}
相关文章推荐
- Spring Boot教程八:捕获全局异常
- spring boot学习教程(4):全局异常处理代码demo
- Spring-Boot--日志操作【全局异常捕获消息处理☞日志控制台输出+日志文件记录】
- springboot全局异常捕获
- (四)Springboot入门之全局异常捕获
- Spring Boot实战之全局异常捕获 实现参数异常检查返回统一错误信息
- Spring Boot 全局捕获异常
- 170621、springboot编程之全局异常捕获
- 一头扎进springboot之捕获全局异常
- 3-Spring Boot ( 全局捕获异常 与 自定义异常 )
- Spring-Boot--日志操作全局异常捕获消息处理☞日志控制台输出+日志文件记录
- 4、springboot之全局异常捕获
- springboot全局异常捕获
- SpringBoot系列之三全局异常的捕获处理
- SpringBootWEB项目和非Web项目的全局异常捕获
- Spring-Boot--日志操作【全局异常捕获消息处理☞日志控制台输出+日志文件记录】
- spring boot 全局异常捕获
- 5. 全局异常捕捉【从零开始学Spring Boot】
- Spring Boot 菜鸟教程 异常 集锦
- SpringBoot学习之全局异常处理设置(返回JSON)