import com. fasterxml. jackson. annotation. JsonInclude;
@JsonInclude ( JsonInclude. Include. NON_NULL)
public class AxiosResult < T> {
private int status;
private String message;
private T data;
public int getStatus ( ) {
return status;
}
public void setStatus ( int status) {
this . status = status;
}
public String getMessage ( ) {
return message;
}
public void setMessage ( String message) {
this . message = message;
}
public T getData ( ) {
return data;
}
public void setData ( T data) {
this . data = data;
}
public AxiosResult ( EnumStatus enumStatus, T data) {
this . status = enumStatus. getStatus ( ) ;
this . message = enumStatus. getMessage ( ) ;
this . data = data;
}
private static < T> AxiosResult< T> getAxiosResult ( EnumStatus enumStatus, T data) {
return new AxiosResult < T> ( enumStatus, data) ;
}
public static < T> AxiosResult< T> success ( T data) {
return getAxiosResult ( EnumStatus. OK, data) ;
}
public static < T> AxiosResult< T> error ( T data) {
return getAxiosResult ( EnumStatus. ERROR, data) ;
}
public static < T> AxiosResult< T> success ( EnumStatus enumStatus, T data) {
return getAxiosResult ( enumStatus, data) ;
}
public static < T> AxiosResult< T> error ( EnumStatus enumStatus, T data) {
return getAxiosResult ( enumStatus, data) ;
}
}
public enum CustomEnum {
OK ( 2000 , "操作成功" ) ,
ERROR ( 4000 , "操作失败" ) ,
USERNAME_ERROR ( 4004 , "用户名错误" ) ,
PASSWORD_ERROR ( 4000 , "密码错误" ) ,
NO_LOGIN ( 4002 , "未登录" ) ,
;
private int Status;
private String message;
public int getStatus ( ) {
return Status;
}
public void setStatus ( int status) {
Status = status;
}
public String getMessage ( ) {
return message;
}
public void setMessage ( String message) {
this . message = message;
}
CustomEnum ( int status, String message) {
Status = status;
this . message = message;
}
}
import com. qy28. sm. http. CustomEnum;
public class MyException extends RuntimeException {
private CustomEnum customEnum;
public MyException ( CustomEnum customEnum) {
this . customEnum = customEnum;
}
public CustomEnum getCustomEnum ( ) {
return customEnum;
}
public void setCustomEnum ( CustomEnum customEnum) {
this . customEnum = customEnum;
}
}
import com. qy28. sm. http. AjaxResult;
import org. springframework. web. bind. annotation. ExceptionHandler;
import org. springframework. web. bind. annotation. RestControllerAdvice;
@RestControllerAdvice
public class MyExceptionHandler {
@ExceptionHandler ( MyException. class )
public AjaxResult myHandler ( MyException myexception) {
return AjaxResult. error ( myexception. getCustomEnum ( ) ) ;
}
}