使用Spring MVC 开发 RESTful API (RESTful API 错误处理)
Spring Boot 中默认的错误处理机制
自定义异常处理
1.Spring Boot 中默认的错误处理机制
当我们启动项目,并在该项目端口上访问/xxx, 这个显然是一个没有的地址,那么结果可想而知:
是404,没有找到该页面,而在spring中来控制错误的方法是BasicErrorController.java,有兴趣可以看一看。
我们自定义,可以自己定制错误页面在resources下面创建error文件夹再创建404.html,500.html
自定义异常处理
我们可以自己创建一个exception包以及UserNotExistException.java文件
UserNotExistException.javapackagecom.imooc.exception;
publicclassUserNotExistExceptionextendsRuntimeException{
privatestaticfinallongserialVersionUID=-6112780192479692859L;
privateStringid;
public UserNotExistException(Stringid){
super("user not exist");
this.id=id;
}
publicStringgetId() {
returnid;
}
publicvoidsetId(Stringid) {
this.id=id;
}
}
然后我们再创建一个ControllerExceptionHandler.java文件,用来异常处理
这样里面创建一个处理摸一个异常的方法,来进行自定义处理异常:
@ControllerAdvice
publicclassControllerExceptionHandler{
@ExceptionHandler(UserNotExistException.class)
@ResponseBody
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
publicMap<String,Object>handleUserNotExistException(UserNotExistExceptionex){
Map<String,Object>result=newHashMap<>();
result.put("id",ex.getId());
result.put("message",ex.getMessage());
returnresult;
}
}
进行请求结果:
网友评论