SpringBoot请求响应

在我们的实际开发过程中,我们经常在前后端交流中遇到标准不一的问题,这时,我们需要对响应的方式与格式进行统一化。我在这里选择了这样的一个Result类来规范相应格式

package com.hyper.demo.pojo;
​
/**
 * 统一响应结果封装类
 */
public class Result {
    private Integer code ;//1 成功 , 0 失败
    private String msg; //提示信息
    private Object data; //数据 date
​
    public Result() {
    }
    public Result(Integer code, String msg, Object data) {
        this.code = code;
        this.msg = msg;
        this.data = data;
    }
    public Integer getCode() {
        return code;
    }
    public void setCode(Integer code) {
        this.code = code;
    }
    public String getMsg() {
        return msg;
    }
    public void setMsg(String msg) {
        this.msg = msg;
    }
    public Object getData() {
        return data;
    }
    public void setData(Object data) {
        this.data = data;
    }
​
    public static Result success(Object data){
        return new Result(1, "success", data);
    }
    public static Result success(){
        return new Result(1, "success", null);
    }
    public static Result error(String msg){
        return new Result(0, msg, null);
    }
​
    @Override
    public String toString() {
        return "Result{" +
                "code=" + code +
                ", msg='" + msg + '\'' +
                ", data=" + data +
                '}';
    }
}

以下是对应的使用代码

package com.hyper.demo.app;
​
import org.springframework.web.bind.annotation.RestController;
​
import com.hyper.demo.pojo.Address;
import com.hyper.demo.pojo.Result;
​
import java.util.ArrayList;
import java.util.List;
​
import org.springframework.web.bind.annotation.RequestMapping;
​
​
​
@RestController
public class ResponseController {
​
    @RequestMapping("/hello")
    public Result hello(){
        // return new Result(1,"success"," Hello world");
        return Result.success("Hello World");
    }
​
    @RequestMapping("/getAddr")
    public Result getAdr(){
        Address addr=new Address();
        addr.setProvince("山东");
        addr.setCity("青岛");
​
        return Result.success(addr);
​
    }
​
    @RequestMapping("/listAddr")
    public Result listAddr(){
        List<Address> list =new ArrayList<>();
        
        Address adr1=new Address();
        adr1.setCity("东营");
        adr1.setProvince("山东");
​
        Address adr2 =new Address();
        adr2.setCity("黄埔");
        adr1.setCity("上海");
​
        list.add(adr2);
        list.add(adr1);
​
​
        return Result.success(list);
​
    }
​
}

返回的数据类型

Comment