状态类
package com.neu.common.constant;
import lombok.Getter;
/**
* Created with IntelliJ IDEA.
*
* @Author: yqq
* @Date: 2023/03/26/13:05
* @Description:
*/
public enum CommonStatusEnum {
/**
* 成功
*/
SUCCESS(200,"Success - 请求完成"),
/**
* 失败
*/
FAIL(-1,"Fail - 请求失败")
;
@Getter
private int code;
@Getter
private String value;
CommonStatusEnum(int code,String value){
this.code = code;
this.value = value;
}
}
响应类
package com.neu.common.dto;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.neu.common.constant.CommonStatusEnum;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* Created with IntelliJ IDEA.
*
* @Author: yqq
* @Date: 2023/03/26/13:10
* @Description:
*/
@Data
@Accessors(chain = true) //链式调用
public class ResponseResult<T> {
private int code;
private String message;
private T data;
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date time;
/**
* 默认成功方法
* @param <T>
* @return
*/
public static <T> ResponseResult success(){
return new ResponseResult()
.setCode(CommonStatusEnum.SUCCESS.getCode())
.setMessage(CommonStatusEnum.SUCCESS.getValue())
.setTime(new Date());
}
/**
* 成功响应的方法
* @param data
* @param <T>
* @return
*/
public static <T> ResponseResult success(T data){
return new ResponseResult()
.setCode(CommonStatusEnum.SUCCESS.getCode())
.setMessage(CommonStatusEnum.SUCCESS.getValue())
.setData(data)
.setTime(new Date());
}
/**
* 自定义失败 错误码和提示信息
* @param code
* @param message
* @param <T>
* @return
*/
public static <T> ResponseResult fail(int code,String message){
return new ResponseResult()
.setCode(code)
.setMessage(message)
.setTime(new Date());
}
/**
* 自定义失败 错误码 具体提示信息
* @param code
* @param message
* @param data
* @param <T>
* @return
*/
public static <T> ResponseResult fail(int code,String message,String data){
return new ResponseResult()
.setCode(code)
.setMessage(message)
.setData(data)
.setTime(new Date());
}
/**
* 统一的失败
* @param data
* @param <T>
* @return
*/
public static <T> ResponseResult fail(T data){
return new ResponseResult()
.setData(data)
.setTime(new Date());
}
}
效果