常见的HTTP状态码有:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{
#返回状态码
Code:integer,
#返回信息描述
message:string,
#返回值
data:object
}
public interface IResultStatus { /** * 状态码 * @return */ Integer errorCode(); /** * 异常信息 * @return */ String errorMsg(); }
public enum ResultStatus implements IResultStatus { /** * 状态码及对应信息 */ //成功状态码 SUCCESS(0, \"执行成功\"), //参数错误:1001~1999 PARAM_IS_INVALID(1001, \"参数无效\"), PARAM_IS_BLANK(1002, \"参数为空\"), PARAM_TYPE_BIND_ERROR(1003, \"参数类型错误\"), //用户错误:2001~2999 USER_LOGIN_ERROR(2001, \"账号不存在或密码错误\"), USER_ACCOUNT_FORBIDDEN(2002, \"账户已被禁用\"), USER_NOT_EXIST(2003, \"用户不存在\"); private int errorCode; private String errorMsg; ResultStatus(int errorCode, String errorMsg) { this.errorCode = errorCode; this.errorMsg = errorMsg; } @Override public Integer errorCode() { return errorCode; } @Override public String errorMsg() { return errorMsg; } }
@Data public class Result<T> { private Integer code; private String message; private Object data; public Result(ResultStatus restStatus, Object data) { this.code = restStatus.errorCode(); this.message = restStatus.errorMsg(); this.data = data; } /** * 业务成功返回业务代码和描述信息 */ public static Result<Void> success() { return new Result<Void>(ResultStatus.SUCCESS, null); } /** * 业务成功返回业务代码,描述和返回的参数 */ public static <T> Result<T> success(T data) { return new Result<T>(ResultStatus.SUCCESS, data); } /** * 业务成功返回业务代码,描述和返回的参数 */ public static <T> Result<T> success(ResultStatus resultStatus, T data) { if (resultStatus == null) { return success(data); } return new Result<T>(resultStatus, data); } /** * 业务异常返回业务代码和描述信息 */ public static <T> Result<T> failure() { return new Result<T>(ResultStatus.PARAM_TYPE_BIND_ERROR, null); } /** * 业务异常返回业务代码,描述和返回的参数 */ public static <T> Result<T> failure(ResultStatus resultStatus) { return failure(resultStatus, null); } /** * 业务异常返回业务代码,描述和返回的参数 */ public static <T> Result<T> failure(ResultStatus resultStatus, T data) { if (resultStatus == null) { return new Result<T>(ResultStatus.PARAM_IS_INVALID, null); } return new Result<T>(resultStatus, data); } }
@RestController @RequestMapping(\"/api/demo2\") public class Demo2Controller { private static final HashMap<String, Object> INFO; static { INFO = new HashMap<>(); INFO.put(\"name\", \"张三\"); INFO.put(\"age\", \"25\"); } @GetMapping(\"/getInfo\") public Map<String, Object> getInfo() { return INFO; } @GetMapping(\"/getInfoResult\") public Result<Map<String, Object>> getInfoResult() { return Result.success(INFO); } }
结果参考:
来源:https://www.cnblogs.com/pbinlog/p/16130383.html
本站部分图文来源于网络,如有侵权请联系删除。