之前看了一篇文章,是java团长的一篇代码规范的文章,很有启发。统一返回格式确实给开发带来方便和美感,
有时候Colltroller返回String或者什么Map,list什么的,虽然都转成json返回给前端,但还是不够规范,前端处理起来也很麻烦,所以统一做一个ResultBean<T>就很有必要了。
话不多说,看代码:其实有个Lombok的Data注解可以让代码更精简一些,去掉get,set,但不知道是Idea的问题还是什么问题,这个注解使用的时候不生效。
1 public class ResultBean<T> implements Serializable { 2 private static final long serialVersionUID=1L; 3 4 public static final int SUCESS=0; 5 6 public static final int FAIL=1; 7 8 public String getMsg() { 9 return msg; 10 } 11 12 public void setMsg(String msg) { 13 this.msg = msg; 14 } 15 16 public int getCode() { 17 return code; 18 } 19 20 public void setCode(int code) { 21 this.code = code; 22 } 23 24 public T getData() { 25 return data; 26 } 27 28 public void setData(T data) { 29 this.data = data; 30 } 31 32 public static final int NO_PERMESSION=2; 33 34 private String msg="SUCESS"; 35 36 private int code=SUCESS; 37 38 39 40 private T data; 41 42 public ResultBean(){ 43 super(); 44 } 45 46 public ResultBean(T data){ 47 super(); 48 this.data=data; 49 } 50 51 public ResultBean(Throwable e){ 52 super(); 53 this.msg=e.toString(); 54 this.code=FAIL; 55 } 56 }
以上就是ResultBean<T>,统一返回格式
:
{"msg":"SUCESS","code":0,"data":[{"id":1,"age":"24","name":"jjjj"}]}
以下为Controller的测试代码
@RequestMapping("select03")
@ResponseBody
public ResultBean<List> select03(String name, String age,int id){
List<Person> person=PersonService.select03(name,age,id);
return new ResultBean<List>(person);
}