首页 > 其他 > 详细

统一返回类型定义

时间:2021-02-04 15:24:02      阅读:26      评论:0      收藏:0      [点我收藏+]


import lombok.Getter;

/**
* 返回结果的状态码和默认描述
*
* @author Mr.Cheng
* @since 2019/10/1
*/
@Getter
public enum Status {
/**
* 成功
*/
SUCCESS(5000, "成功"),

/**
* 任务未开始
*/
NOT_STARTED(5001, "任务未开始"),

/**
* 失败
*/
FAIL(5002, "失败"),

/**
* 正在运行
*/
RUNNING(5003, "任务正在运行"),

/**
* 未找到
*/
NOT_FOUND(5004, "未找到资源"),

/**
* 参数非法
*/
INVALID_PARAMETER(5005, "参数非法"),

/**
* 用户未授权
*/
UNAUTHORIZED(5006, "未授权"),

/**
* 服务器内部错误
*/
INTERNAL_SERVER_ERROR(5007, "系统内部异常"),

/**
* 文件格式不合法
*/
INVALID_FILE_FORMAT(5008, "文件格式不合法"),

/**
* 拒绝该请求
*/
NOT_ACCEPTABLE(5009, "拒绝请求"),

/**
* 会话失效
*/
INVALID_SESSION(5010, "会话失效");

private final int value;

private final String description;

Status(int value, String description) {
this.value = value;
this.description = description;
}

public int value() {
return value;
}
}


返回值:

import lombok.Data;

import java.util.Set;

/**
* 控制器统一返回结果
*
* @author Mr.Cheng
* @since 2019/10/1
*/
@Data
public class Result {
/**
* 状态码
*/
private int code;

/**
* 描述,通常情况下用于描述部分失败的状态
*/
private String description;

/**
* 数据
*/
private Object data;

private Result(int code, String description, Object data) {
this.code = code;
this.data = data;
this.description = description;
}

public static Result of(Status status) {
return new Result(status.value(), status.getDescription(), null);
}

public static Result of(int code, String description) {
return new Result(code, description, null);
}

public static Result success(Object data) {
return new Result(Status.SUCCESS.value(), Status.SUCCESS.getDescription(), data);
}

public static Result fail(String description) {
return new Result(Status.FAIL.value(), description, null);
}

public static Result fail(Object object) {
return new Result(Status.FAIL.value(), object.toString(), null);
}

public static <T> Result fail(Set<T> failSet) {
return new Result(Status.FAIL.value(), "失败: " + failSet, null);
}
}









统一返回类型定义

原文:https://www.cnblogs.com/chengshentao/p/14372412.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!