自定义异常类
public class UserNameAndPasswordException extends RuntimeException {
public UserNameAndPasswordException(String message) {
super(message);
}
}
异常信息实体类
import java.io.Serializable;
public class ErrorMessage implements Serializable {
private Integer erroCode;
private String message;
public ErrorMessage(Integer erroCode, String message) {
this.erroCode = erroCode;
this.message = message;
}
public Integer getErroCode() {
return erroCode;
}
public void setErroCode(Integer erroCode) {
this.erroCode = erroCode;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
异常处理类
@ControllerAdvice拦截异常,
@ControllerAdvice+@ResponseBody可换成@RestControllerAdvice.
@ExceptionHandler指定处理哪种异常(可指定多个),
@ResponseStatus指定返回的http状态码(具体可查看HttpStatus这个类),
@RestControllerAdvice //@ControllerAdvice +@ResponseBody
public class CustomExceptionHandler {
@ExceptionHandler(value = UserNameAndPasswordException.class)
@ResponseStatus(code = HttpStatus.BAD_REQUEST)
public ErrorMessage handlerError(UserNameAndPasswordException ex){
return new ErrorMessage(1001,ex.getMessage());
}
}