import lombok.Data;
import java.util.HashMap;
import java.util.Map;
/**
* <h1>统一结果封装类</h1>
* <hr/>
* <p>链式编程风格</p>
* <p>示例:</p>
* <p>操作成功:<code>
* R.ok().message("响应消息").data(返回数据)
* </code></p>
*
* @author mulun
* @version 1.0
*/
@Data
public class R {
/**
* 响应码
*/
private Integer code;
/**
* 响应消息
*/
private String message;
/**
* 响应数据
*/
private Map<String, Object> data = new HashMap<>();
private R() {
// 私有化构造函数
}
/**
* 返回成功结果
*
* @return 封装结果集
*/
public static R ok() {
R r = new R();
// 自定义响应枚举,响应码
r.setCode(ResponseEnum.SUCCESS.getCode());
// 自定义响应枚举,响应消息
r.setMessage(ResponseEnum.SUCCESS.getMessage());
// 返回自身,组成链式
return r;
}
/**
* 返回失败结果
*
* @return 封装结果集
*/
public static R error() {
R r = new R();
r.setCode(ResponseEnum.ERROR.getCode());
r.setMessage(ResponseEnum.ERROR.getMessage());
return r;
}
/**
* 返回自定义结果
*
* @param responseEnum 响应枚举对象
* @return 封装结果集
*/
public static R setResult(ResponseEnum responseEnum) {
R r = new R();
r.setCode(responseEnum.getCode());
r.setMessage(responseEnum.getMessage());
return r;
}
/**
* 设置返回结果集
*
* @param key
* @param value 数据
*/
public R data(String key, Object value) {
this.data.put(key, value);
return this;
}
/**
* 设置响应消息
*
* @param message 消息字符串
*/
public R message(String message) {
this.setMessage(message);
return this;
}
/**
* 设置返回结果集,如果结果是集合用这个
*
* @param map 集合
*/
public R data(Map<String, Object> map) {
this.setData(map);
return this;
}
/**
* 设置返回的响应码
*/
public R code(Integer code) {
this.code = code;
return this;
}
}
01-30
1808
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
04-15
4347
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
05-27