可以前往第一篇博客查看目录结构 --> 这里
一、创建一个exception包,在包下自定义一个UserNotExistException
public class UserNotExistException extends RuntimeException {
private String id;
public UserNotExistException(String id) {
super("user not exist");
this.id = id;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
二、在Controller包下创建一个ExceptionHandlerController,应用到所有@RequestMapping注解的方法,在其抛出UserNotExistException异常时执行
@ControllerAdvice
public class ExceptionHandlerController {
/**
* 应用到所有@RequestMapping注解的方法,在其抛出UserNotExistException异常时执行
* @param ex
* @return
*/
@ExceptionHandler(UserNotExistException.class)
@ResponseBody
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
public Map<String,Object> handlerUserNotExistException(UserNotExistException ex){
Map<String,Object> map = new HashMap<>();
map.put("id",ex.getId());
map.put("message",ex.getMessage());
System.out.println(ex.getMessage());
return map;
}
}
三、在UserController下编写一个测试接口
@GetMapping("/user")
public List<User> query(@RequestParam(value = "username",defaultValue = "666") String username){
throw new UserNotExistException(username);
}
四、启动工程,访问localhost:端口号/user