/**
* 自定义异常类
*/
public class MyBaseException extends RuntimeException{
private static final long serialVersionUID = 1L;
public MyBaseException() {
}
public MyBaseException(String message) {
super(message);
}
}
程序中调用 throw new MyBaseException("异常信息");
@RestControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(MyBaseException .class)
public ResponseData exceptionHandler(DateException
exception){
return handleErrorInfo(exception.getMessage(), "199", exception);
}
}
private ResponseData<String> handleErrorInfo(String message, String code, Exception exception) {
exception.printStackTrace();
return ResponseData.error(code, message);
}
@Getter
@AllArgsConstructor(access = AccessLevel.PROTECTED)
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class ResponseData<T> implements Serializable {
@ApiModelProperty(value="返回码-200成功",name="code",example="200", required=true)
private String code;
@ApiModelProperty(value="返回描述",name="msg",example="success", required=true)
private String msg;
@ApiModelProperty(value="返回数据",name="data")
private T data;
public static ResponseData success(){
ResponseData responseData = new ResponseData();
responseData.code = "200";
responseData.msg = "success";
return responseData;
}
public static ResponseData success(String message){
ResponseData responseData = new ResponseData();
responseData.code = "200";
responseData.msg = message;
return responseData;
}
public ResponseData setData(T t){
this.data = t;
return this;
}
public static ResponseData error(String errorMsg){
ResponseData responseData = new ResponseData();
responseData.code = "999";
responseData.msg = errorMsg;
return responseData;
}
public static ResponseData error(String code, String errorMsg){
ResponseData responseData = new ResponseData();
responseData.code = code;
responseData.msg = errorMsg;
return responseData;
}
}