您的位置:首页 > 编程语言 > Java开发

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);

}

}
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());
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  SpringBoot 异常处理