一.Result.java工具类
package com.hs.util;
/**
* 响应格式类
* 作用:统一服务端的响应数据格式
*/
public class Result<T> {
/**
* 响应代码
*/
private int status;
/**
* 响应信息
*/
private String message;
/**
* 响应数据
*/
private T data;
public Result(int status, String message, T data) {
this.status = status;
this.message = message;
this.data = data;
}
/**
* 成功的响应:不传递数据到页面
*/
public static Result success() {
return new Result(SystemCode.OK.getCode(), SystemCode.OK.getMessage(),
null);
}
/**
* 成功的响应:不传递数据到页面
*/
public static Result success(String message) {
return new Result(SystemCode.OK.getCode(),message ,
null);
}
/**
* 成功的响应:传递数据到页面
*/
public static <T> Result success(T data) {
return new Result(SystemCode.OK.getCode(), SystemCode.OK.getMessage(),
data);
}
/**
* 失败的响应:不传递数据到页面
*/
public static Result error() {
return new Result(SystemCode.ERROR.getCode(),
SystemCode.ERROR.getMessage(), null);
}
/**
* 失败的响应:传递数据到页面
*/
public static <T> Result error(T data) {
return new Result(SystemCode.ERROR.getCode(),
SystemCode.ERROR.getMessage(), data);
}
/**
* 失败的响应:传递数据到页面,并且传递响应码和响应信息
*/
public static <T> Result error(int status, String message, T data) {
return new Result(status, message, data);
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public T getData() {
return data;
}public void setData(T data) {
this.data = data;
}
}
二.SystemCode.java工具类
package com.hs.util;
/*
* 系统编码:不是Http协议的响应码,是我们自定义的用来针对某些情况给与的响应码
* 作用:当后台向前端响应的时候,除了响应数据以外,还要响应一些编码,前端通过这些编码可以判断操
作是成功,还是失败,以及失败的原因等。
* 比如用户名和密码不是代码错误,只是没有匹配到对应的数据,但是在业务角度来看就是错误,我们可以
响应指定的编码来告知前端问题所在。
*
*/
public enum SystemCode {
OK(200, "成功"),
USERNAME_EXISTS(401, "用户名已存在"),
USERNAME_ERROR(402, "用户名或密码错误"),
NO_USER(403, "用户不存在"),
NOT_LOGIN(404, "用户未登录"),
NO_PERMISSION(405, "权限不足,禁止访问"),
ERROR(500, "失败");
int code;
String message;
SystemCode(int code, String message) {
this.code = code;
this.message = message;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}