/**
* 统一API响应结果封装
*/
public class Result {
private int code;
private String message;
private Object data;
private Long count;
public Result setCode(ResultCode resultCode) {
this.code = resultCode.code();
return this;
}
public int getCode() {
return code;
}
public String getMessage() {
return message;
}
public Result setMessage(String message) {
this.message = message;
return this;
}
public Object getData() {
return data;
}
public Result setData(Object data) {
this.data = data;
return this;
}
public Long getCount() {
return count;
}
public Result setCount(Long count) {
this.count = count;
return this;
}
}
/**
* 响应码枚举,参考HTTP状态码的语义
*/
public enum ResultCode {
SUCCESS(0),//成功
FAIL(400),//失败
UNAUTHORIZED(401),//未认证(签名错误)
NOT_FOUND(404),//接口不存在
INTERNAL_SERVER_ERROR(500);//服务器内部错误
private final int code;
ResultCode(int code) {
this.code = code;
}
public int code() {
return code;
}
}
package com.cn.p2p.common;
import com.github.pagehelper.PageInfo;
/**
* 响应结果生成工具
*/
public class ResultGenerator {
private static final String DEFAULT_SUCCESS_MESSAGE = "SUCCESS";
public static Result genSuccessResult() {
return new Result()
.setCode(ResultCode.SUCCESS)
.setMessage(DEFAULT_SUCCESS_MESSAGE);
}
public static Result genSuccessResult(Object data, PageInfo<?> pageInfo) {
return new Result()
.setCode(ResultCode.SUCCESS)
.setMessage(DEFAULT_SUCCESS_MESSAGE)
.setData(data)
.setCount(pageInfo.getTotal());
}
public static Result genFailResult(String message) {
return new Result()
.setCode(ResultCode.FAIL)
.setMessage(message);
}
public static Result genFailResult(ResultCode code,String message) {//自定义的错误码
return new Result()
.setCode(code)
.setMessage(message);
}
public static Result genFailResult(ResultCode code,String message,Object data) {//自定义的错误码
return new Result()
.setCode(code)
.setMessage(message)
.setData(data);
}
}