SpringBoot中通用响应VO类

package cn.com.xxx.xxx.vo;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.http.HttpStatus;

@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
public class ApiResponse<T> {
    private int status = HttpStatus.OK.value();
    private String message;
    private T data;

    public static final String SUCCESS_MSG = "操作成功";
    public static final String ERROR_MSG = "操作成功";

    /**
     * 返回成功数据
     *
     * @return 成功消息
     */
    public static <T> ApiResponse<T> success(T data)
    {
        return ApiResponse.success(SUCCESS_MSG, data);
    }

    /**
     * 返回成功消息
     *
     * @param msg 返回内容
     * @return 成功消息
     */
    public static <T> ApiResponse<T> success(String msg)
    {
        return ApiResponse.success(msg, null);
    }

    /**
     * 返回成功消息
     *
     * @param msg 返回内容
     * @param data 数据对象
     * @return 成功消息
     */
    public static <T> ApiResponse<T> success(String msg, T data)
    {
        return new ApiResponse<>(HttpStatus.OK.value(), msg, data);
    }

    /**
     * 返回错误消息
     *
     */
    public static <T> ApiResponse<T> error()
    {
        return ApiResponse.error(ERROR_MSG);
    }

    /**
     * 返回错误消息
     *
     * @param msg 返回内容
     * @return 警告消息
     */
    public static <T> ApiResponse<T> error(String msg)
    {
        return ApiResponse.error(msg, null);
    }

    /**
     * 返回错误消息
     *
     * @param msg 返回内容
     * @param data 数据对象
     * @return 警告消息
     */
    public static <T> ApiResponse<T> error(String msg, T data)
    {
        return new ApiResponse<>(HttpStatus.INTERNAL_SERVER_ERROR.value(), msg, data);
    }
    

    /**
     * 返回错误消息
     * @author zhangyalin
     * @param msg 返回内容
     * @param code 响应编码
     * @return 警告消息
     */
    public static <T> ApiResponse<T> error(int code, String msg)
    {
        return new ApiResponse<>(code, msg, null);
    }
}

你可能感兴趣的:(spring,boot,java,spring)