之前看了一篇文章,是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);
}