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

(五)、SpringBoot @ControllerAdvice注解

2018-03-13 10:48 405 查看
可以前往第一篇博客查看目录结构 --> 这里

一、创建一个exception包,在包下自定义一个UserNotExistExceptionpublic 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

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