前后端分类 自定义返回实体

45 阅读1分钟
 */
@Data
public class ApiResponse<T> {

    private Boolean success ;

    private Integer code ;

    private String codeMessage;

    private T data;

    private Map<String,String> errorMessage;

    public static ApiResponse success(){
        ApiResponse apiResponse = new ApiResponse();
        apiResponse.setSuccess(true);
        apiResponse.setCode(ResponseCodeEnum.SUCCESS.getCode());
        apiResponse.setCodeMessage(ResponseCodeEnum.SUCCESS.getMessage());
        return apiResponse;
    }

    public static <T> ApiResponse success(T data){
        ApiResponse apiResponse = new ApiResponse();
        apiResponse.setSuccess(true);
        apiResponse.setCode(ResponseCodeEnum.SUCCESS.getCode());
        apiResponse.setCodeMessage(ResponseCodeEnum.SUCCESS.getMessage());
        apiResponse.setData(data);
        return apiResponse;
    }

    public static ApiResponse fail(){
        ApiResponse apiResponse = new ApiResponse();
        apiResponse.setSuccess(false);
        apiResponse.setCode(ResponseCodeEnum.SERVICE_ERROR.getCode());
        apiResponse.setCodeMessage(ResponseCodeEnum.SERVICE_ERROR.getMessage());
        return apiResponse;
    }

    public static <T> ApiResponse<T> fail(String error) {
        Map<String, String> errors = new HashMap<>();
        errors.put(error, error);
        return fail(errors);
    }
    public static <T> ApiResponse fail(T data){
        ApiResponse apiResponse = new ApiResponse();
        apiResponse.setSuccess(false);
        apiResponse.setCode(ResponseCodeEnum.SERVICE_ERROR.getCode());
        apiResponse.setCodeMessage(ResponseCodeEnum.SERVICE_ERROR.getMessage());
        apiResponse.setData(data);
        return apiResponse;
    }

    public static <T> ApiResponse<T> fail(Map<String, String> errors) {
        ApiResponse<T> response = new ApiResponse<>();
        response.setData(null);
        response.setCode(ResponseCodeEnum.SERVICE_ERROR.getCode());
        response.setCodeMessage(ResponseCodeEnum.SERVICE_ERROR.getMessage());
        response.setErrorMessage(errors);
        response.setSuccess(false);
        return response;
    }

    public ApiResponse<T> fail(String msg, T data) {
        this.setData(data);
        this.setSuccess(false);
        this.setCode(ResponseCodeEnum.SERVICE_ERROR.getCode());
        this.setCodeMessage(ResponseCodeEnum.SERVICE_ERROR.getMessage());
        return this;
    }

   //非静态方法
    public  ApiResponse<T> fail(Integer code, Map<String,String> errorMessage){
        this.setSuccess(false);
        this.setCode(code);
        this.setErrorMessage(errorMessage);
        this.setData(data);
        return this;
    }
}