返回值的处理

在开发中,经常需要给页面返回数据,那么如何将数据传给页面呢?本文给出了一种规范:

1.自定义结果枚举信息接口

public interface BSBaseResult {
    String getCode();
    String getDesc();
}

2.编写枚举类实现上述接口

public enum BSBaseResultEnum implements BSBaseResult {
    SUCCESS("1000", "操作成功"),
    FAIL("1001", "操作失败");
    
    private String code;
    private String desc;
    
    BSBaseResultEnum(String code,String desc){
        this.code = code;
        this.desc = desc;
    }
    
    public String getCode(){ return this.code; }
    public String getDesc(){ return this.desc; }
    
	@Override
	public String toString() {
		return "ErrorCodeEnum{" + "code='" + code + '\'' + ", desc='" + desc + '\'' + '}';
	}
}

3.编写返回值实体类

@Data
@AllArgsConstructor
@NoArgsConstructor
public class ReturnData<T> implements Serializable {
    private String code;
    private String desc;
    private T data;
}

4.编写返回值工具类BSResultUtil

public class BSResultUtil {
	/**
     * 成功返回
     */
	public static <T> ReturnData<T> returnSuccess(T data, BSBaseResultEnum enum){
        ReturnData<T> result = new ReturnData<>();
        result.setCode(enum.getCode());
        result.setDesc(enum.getDesc());
        result.setData(data);
        return result;
    }
    
	/**
     * 错误返回
     */
	public static <T> ReturnData<T> returnError(BSBaseResultEnum enum){
        ReturnData<T> result = new ReturnData<>();
        result.setCode(enum.getCode());
        result.setDesc(enum.getDesc());
        return result;
    }
    
	/**
     * 错误返回
     */
	public static <T> ReturnData<T> returnError(String code, String desc){
        ReturnData<T> result = new ReturnData<>();
        result.setCode(code);
        result.setDesc(desc);
        return result;
    }
}

5.使用

BSResultUtil.returnSuccess(data,BSBaseResultEnum.SUCCESS)
发布了81 篇原创文章 · 获赞 124 · 访问量 38万+

猜你喜欢

转载自blog.csdn.net/qq_38697437/article/details/102974664