在我们的实际开发过程中,我们经常在前后端交流中遇到标准不一的问题,这时,我们需要对响应的方式与格式进行统一化。我在这里选择了这样的一个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);
}
}
返回的数据类型