文章鏈接
正文
1.在model中創(chuàng)建ResponseCode
/**
* 定義響應(yīng)的狀態(tài)碼
*/
public enum ResponseCode {
SUCCESS(100, "SUCCESS"),
ERROR(101, "ERROR"),
NEED_LOG(1, "NEED_LOG");
private int code;
private String desc;
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
ResponseCode(int code, String desc) {
this.code = code;
this.desc = desc;
}
}
2.在model中創(chuàng)建ServerResponse
/**
* 封裝后端返回的Json數(shù)據(jù)
*/
//保證序列化json時,如果是null的對象,key也會消失
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ServerResponse<T> {
//狀態(tài)碼
private int statu;
//數(shù)據(jù)
private T data;
//描述信息
private String msg;
//setter、getter方法
public int getStatu() {
return statu;
}
public void setStatu(int statu) {
this.statu = statu;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
//構(gòu)造函數(shù)
/**
* 操作成功時,返回數(shù)據(jù)
*
* @param statu
* @param data
* @param msg
*/
public ServerResponse(int statu, T data, String msg) {
this.statu = statu;
this.data = data;
this.msg = msg;
}
public ServerResponse(int statu) {
this.statu = statu;
}
/**
* 操作失敗時,不返回數(shù)據(jù)
*
* @param statu
* @param msg
*/
public ServerResponse(int statu, String msg) {
this.statu = statu;
this.msg = msg;
}
//使之不在序列化結(jié)果中
public boolean checkIsSuccess() {
return this.statu == ResponseCode.SUCCESS.getCode();
}
//泛型方法
/**
* 成功返回數(shù)據(jù)
*
* @param msg
* @param data
* @param <T>
* @return
*/
public static <T> ServerResponse<T> createBySuccess(String msg, T data) {
return new ServerResponse<T>(ResponseCode.SUCCESS.getCode(), data, msg);
}
/**
* 用于校驗登錄信息
*
* @param <T>
* @return
*/
public static <T> ServerResponse<T> createByCheckSuccess() {
return new ServerResponse<T>(ResponseCode.SUCCESS.getCode());
}
/**
* 返回錯誤信息
*
* @param msg
* @param <T>
* @return
*/
public static <T> ServerResponse<T> createByError(String msg) {
return new ServerResponse<T>(ResponseCode.ERROR.getCode(), msg);
}
public static <T> ServerResponse<T> createByNeedLogin() {
return new ServerResponse<T>(ResponseCode.NEED_LOG.getCode(), "請先登錄!");
}
注:如果需要使用JsonInclude需要導(dǎo)包 在pom中導(dǎo)入
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.8</version>
</dependency>
3.在UserService中修改接口

01
4.運行測試
http://localhost:8080/user/getAllUsers