有的时候JAVA中定义的异常可能不能满足我们的需求,所以这时候可以考虑自己对异常进行定义。
测试
自定义用户不存在类
package com.imooc.exception;
public class UserNotExistException extends RuntimeException {
private static final long serialVersionUID = -6112780192479692859L;
public UserNotExistException(String id) {
super("user not exist");
this.id = id;
}
private String id;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
调用异常类
@GetMapping(value = "/{id:\\d+}")
@JsonView(User.UserDetailView.class)
public User getInfo(@PathVariable String id){ // 指定了name可以和里面不一样,没有指定一定要一样
throw new UserNotExistException(id);
}
经过测试,此时调用返回的信息为:
如果调用普通的Exception类,则需要抛出的异常就要改为Exception
调用异常类
@GetMapping(value = "/{id:\\d+}")
@JsonView(User.UserDetailView.class)
public User getInfo(@PathVariable String id) throws Exception { // 指定了name可以和里面不一样,没有指定一定要一样
//throw new UserNotExistException(id);
throw new Exception("user not exist");
}
返回信息
总结
目的也就是让前端返回的信息时我们所需要的格式来接受