java定义全局统筹返回类
原创全局统一返回类,可以返回各种实体数据、状态码、成功与失败信息等,实现全局返回值类型的统一功能。
代码非常简单,只需复制并使用即可。许多开源项目使用这组全局回报,这基本相同。如果有更好的方法或不规范的地方,请纠正我。
package com.cgh.common.utils;
import org.apache.http.HttpStatus;
import java.util.HashMap;
import java.util.Map;
/**
* 返回数据
*
*/
public class R extends HashMap {
private static final long serialVersionUID = 1L;
public R() {
put("code", 0);
put("msg", "success");
}
public static R error() {
return error(HttpStatus.SC_INTERNAL_SERVER_ERROR, "未知异常,请与管理员联系。");
}
public static R error(String msg) {
return error(HttpStatus.SC_INTERNAL_SERVER_ERROR, msg);
}
public static R error(int code, String msg) {
R r = new R();
r.put("code", code);
r.put("msg", msg);
return r;
}
public static R ok(String msg) {
R r = new R();
r.put("msg", msg);
return r;
}
public static R ok(Map map) {
R r = new R();
r.putAll(map);
return r;
}
public static R ok() {
return new R();
}
public R put(String key, Object value) {
super.put(key, value);
return this;
}
}
项目中的实际使用场景如下:
(1)返回成功和数据
(2返回故障、状态代码和错误消息等。
(3在查询的情况下,返回成功,实体数据。
(4)修改或删除、保存等,直接返回成功。
2021.03.17日更:
feign远程调用后获得的返回值。R,需要.get(“data”)获取,然后在转换中。javabean,特别笨重。图:
因此,为了解决这个问题R课程完成如下:
package com.atguigu.common.utils;
import org.apache.http.HttpStatus;
import java.util.HashMap;
import java.util.Map;
/**
* 返回数据
*
* @author Mark chengguanghao
*/
public class R extends HashMap {
private static final long serialVersionUID = 1L;
private T data;
public T getData() {
return data;
}
public void setData(T data){
this.data = data;
}
public R() {
put("code", 0);
put("msg", "success");
}
public static R error() {
return error(HttpStatus.SC_INTERNAL_SERVER_ERROR, "未知异常,请与管理员联系。");
}
public static R error(String msg) {
return error(HttpStatus.SC_INTERNAL_SERVER_ERROR, msg);
}
public static R error(int code, String msg) {
R r = new R();
r.put("code", code);
r.put("msg", msg);
return r;
}
public static R ok(String msg) {
R r = new R();
r.put("msg", msg);
return r;
}
public static R ok(Map map) {
R r = new R();
r.putAll(map);
return r;
}
public static R ok() {
return new R();
}
public R put(String key, Object value) {
super.put(key, value);
return this;
}
public Integer getCode(){
return (Integer) this.get("code");
}
}
修改完R下课后,调用和返回变得方便,如下图所示:
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除