响应

SOBER小于 1 分钟

响应

@ResponseBody 注解

  • 类型: 方法注解、类注解
  • 位置: Controller 方法上/类上
  • 作用: 将方法返回值直接响应,如果返回值类型是 实体对象/集合,将会转换为 JSON 格式响应
  • 说明: @RestController = @Controller+ @ResponseBody;

封装统一响应结果 (创建 Result 类)

public class Result {
    private Integer code;
    private String msg;
    private Object data;

    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(200, "success", data);
    }

    public static Result success() {
        return new Result(200, "success", null);
    }

    public static Result error(String msg) {
        return new Result(400, msg, null);
    }

    @Override
    public String toString() {
        return "Result{" +
                "code=" + code +
                ", msg='" + msg + '\'' +
                ", data=" + data +
                '}';
    }
}

创建 ResponseController 类

@RestController
public class ResponseController {
    @RequestMapping("/hellos")
    public Result hello() {
        System.out.println("hello word");
        // return new Result(200, "success", "hello word");
        return Result.success("hello word");
    }

    @RequestMapping("/getAddress")
    public Result getAddress() {
        Address addr = new Address();
        addr.setProvince("广东");
        addr.setCity("深圳");
        System.out.println(addr);
        return Result.success(addr);
    }

    @RequestMapping("/listAddr")
    public Result listAddr() {
        List<Address> list = new ArrayList<>();
        Address addr1 = new Address();
        addr1.setProvince("广东");
        addr1.setCity("深圳");

        Address addr2 = new Address();
        addr2.setProvince("广东");
        addr2.setCity("深圳");
        list.add(addr1);
        list.add(addr2);

        return Result.success(list);
    }
}

Postman 测试结果

  • /hellos /hellos

  • /getAddress /hellos

  • /listAddr /hellos