前言
mvc应用开发,基于Json数据的restfull交互接口。所有的正常或者异常的数据返回,都需要定义固定的格式。比如,系统出现异常,也能返回统一的错误码+错误信息,而不是返回一堆乱码给接口调用者。
统一返回的业务实体定义
package com.argrace.platform.dal.dto;
import lombok.Data;
@Data
public class Result<T> {
public enum ResultCode {
SUCCESS(200, "成功"),
REQUEST_ERROR(400, "请求错误"),
REQUEST_AUTH_ERROR(401, "请求认证错误"),
REQUEST_SIGN_ERROR(402, "请求签名错误"),
REQUEST_FORBIDDEN(403, "请求被禁止"),
SERVICE_NOT_FOUND(404, "服务未找到"),
SERVICE_ERROR(500, "服务端错误"),
SQL_ERROR(501, "服务端SQL错误"),
CALL_REMOTE_API_ERROR(2000, "服务端调用API失败"),
REMOTE_API_ERROR(2001, "远程API失败"),
PARAMETERS_IS_EMPTY(2002, "参数为空"),
PARAMETERS_IS_ERROR(2002, "参数错误")
;
private int value;
private String message;
ResultCode(int value, String message) {
this.value = value;
this.message = message;
}
public int getValue() {
return value;
}
public String getMessage() {
return message;
}
public String getMsg() {
return message;
}
public static ResultCode parseValue(int value) {
ResultCode[] values = ResultCode.values();
for (ResultCode resultCode : values) {
if (resultCode.getValue() == value) {
return resultCode;
}
}
return null;
}
}
private int code = 200;
private String message;
private T data;
public Result() {
}
public Result(T data) {
this.code = ResultCode.SUCCESS.getValue();
this.message = ResultCode.SUCCESS.getMessage();