后端对返回数据的封装


idea中新建springboot项目

编写后端返回数据的封装类,如Result.java

public class Result<T> {

    private int code;
    private String msg;
    private T data;

    public static <T> Result<T> success(T data){
        return new Result<T>(data);
    }
    
    public static <T> Result<T> error(CodeMsg codeMsg){
        return new  Result<T>(codeMsg);
    }
    
    private Result(T data) {
        this.code = 0;
        this.msg = "success";
        this.data = data;
    }
    
    private Result(CodeMsg codeMsg) {
        if(codeMsg == null) {
            return;
        }
        this.code = codeMsg.getCode();
        this.msg = codeMsg.getMsg();
    }

    public int getCode() {
        return code;
    }
    public String getMsg() {
        return msg;
    }
    public T getData() {
        return data;
    }

}

对状态码和状态信息封装为静态变量的类,如CodeMsg.java

public class CodeMsg {

    private int code;
    private String msg;
public static CodeMsg SERVER_ERROR = new CodeMsg(500100, "服务端异常"); private CodeMsg(int code, String msg) { this.code = code; this.msg = msg; } public int getCode() { return code; } public String getMsg() { return msg; } }

在controller中返回封装好的数据类型

@Controller
@RequestMapping("/demo")
public class DemoController {
    
         @RequestMapping("/hello")
        @ResponseBody
        public Result<String> hello() {
             return Result.success("hello 小老弟");
        }
         
         @RequestMapping("/helloError")
        @ResponseBody
        public Result<String> helloError() {
             return Result.error(CodeMsg.SERVER_ERROR);
        }
         
}

结果


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM