统一返回值类型

1、创建枚举类

自定义实例变量和构造方法,生成枚举

package com.lian.internalcommon.constant;

import lombok.Getter;

public enum CommonStatusEnum {

    /**
     * 	操作成功
     */
    SUCCESS(200, "success"),

    /**
     * 	操作异常
     */
    INTERNAL_SERVER_EXCEPTION(-1, "exception"),

    /**
     * 	操作失败
     */
    FAIL(1, "fail");

	//自动生成get方法
    @Getter
    private final int code;

    @Getter
    private final String value;

    private CommonStatusEnum(int code, String value) {
        this.code = code;
        this.value = value;
    }
}

2、创建通用返回值类

package com.lian.internalcommon.dto;

import java.io.Serializable;

import com.lian.internalcommon.constant.CommonStatusEnum;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 此类专门做通用统一的返回值类型,替代Sring
 * @Data 等价于 @Setter、@Getter、@RequiredArgsConstructor、@ToString、@EqualsAndHashCode
 */
@Data

/**
 * 开启链式编程,设置为true,则setter方法返回当前对象
 */
@Accessors(chain = true)

/**
 * 抑制所有异常
 * 所有接口的返回值类型是 ResponseResult
 */
@SuppressWarnings("all")
public class ResponseResult<T> implements Serializable {

    //设置常量盐值
    private static final long serialVersionUID = 52646L;

    /**
     * 定义成员变量,一般返回值固定写法,不同数据类型的返回码和消息
     */
    private int code;
    private String message;
    private T data;

    /**
     * 返回成功数据(status:1)
     *
     * @param data 数据内容
     * @param <T>  数据类型
     * @return ResponseResult实例
     */
    public static <T> ResponseResult success(T data) {
        return new ResponseResult()
                .setCode(CommonStatusEnum.SUCCESS.getCode())
                .setMessage(CommonStatusEnum.SUCCESS.getValue())
                .setData(data);
    }

    /**
     * 返回错误数据(status:500)
     *
     * @param data 错误内容
     * @param <T>  数据类型
     * @return ResponseResult实例
     */
    public static <T> ResponseResult fail(T data) {
        return new ResponseResult()
                .setCode(CommonStatusEnum.INTERNAL_SERVER_EXCEPTION.getCode())
                .setMessage(CommonStatusEnum.INTERNAL_SERVER_EXCEPTION.getValue())
                .setData(data);
    }

    /**
     * 自定义返回错误数据
     *
     * @param code    错误代码
     * @param message 错误消息
     * @return ResponseResult实例
     */
    public static ResponseResult fail(int code, String message) {
        return new ResponseResult()
                .setCode(code)
                .setMessage(message);
    }
}

从此所有类的返回值类型就可以统一为ResponseResult,替代最原始的String作为返回值类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值