首先编写一个枚举类Result:(下面写了两种Result类的编写方式,这两种的使用方法在最后面),最主要的功能就是为了向前端发送数据的时候能够更高效快捷,编写代码如下:
public enum Status {
OK(200,"请求成功"),
SYSTEM_ERROR(101,"系统异常"),
SQL_ERROR(109,"SQL语句异常");
;
//状态码
private Integer code;
//错误信息
private String message;
//构造器
Status(Integer code,String message){
this.code=code;
this.message=message;
}
//只需要添加get方法就行
public Integer getCode() {
return code;
}
public String getMessage() {
return message;
}
@Override
public String toString() {
return code+":"+message;
}
}
Result类编写方式一:
public class RResult类编写方式二:{ //状态码 private Integer status; //错误的状态信息 private String message; //数据 private T data; //get方法:获取状态码 public Integer getStatus() { return status; } //get方法:获取错误状态信息 public String getMessage() { return message; } //get方法:获取数据内容 public T getData() { return data; } private R(Integer status,String message,T data){ this.status=status; this.message=message; this.data=data; } private R(Integer status,String message){ this.status=status; this.message=message; } private R(String message){ this.message=message; } //下面就是根据需要返回不同参数格式的方法 public static R buildR(Status status,String message,T data){ return new R (status.getCode(),message,data); } public static R buildR(Status status,String message){ return new R (status.getCode(),message); } public static R buildR(Status status,T data){ return new R (status.getCode(),status.getMessage(),data); } public static R buildR(Status status){ return new R (status.getCode(),status.getMessage()); } }
public class R1将上面的枚举和工具类Result定义好后,下面就可以使用了 Result类编写方式一的用法:{ private static Integer status;//状态码 private static String message;//错误的的状态信息 private T data; //构造器私有化 private R1(){}; //下面的方法,根据开发需求添加即可 //请求成功调用此方法 public static R1 OK(){ R1 r1 = new R1(); status=Status.OK.getCode(); message=Status.OK.getMessage(); return r1; } //系统异常调用此方法 public static R1 SYSTEM_ERROR(){ R1 r1 = new R1(); status=Status.SYSTEM_ERROR.getCode(); message=Status.SYSTEM_ERROR.getMessage(); return r1; } //SQL语句异常调用此方法 public static R1 SQL_ERROR(){ R1 r1 = new R1(); status=Status.SQL_ERROR.getCode(); message=Status.SQL_ERROR.getMessage(); return r1; } //传数据的方法 public R1 data(T data){ this.data= data; return this; } //toString方法 @Override public String toString() { return "R1{" + "data=" + data +";"+ "status=" + status +";"+ "message=" + message + '}'; }
@Controller
@RequestMapping("/AdsController")
public class AdsController {
@ResponseBody
@RequestMapping("/getAdsByType.action")
public R
Result类编写方式二的用法:
@Controller
@RequestMapping("/workers")
public class WokeresController {
@ResponseBody
@RequestMapping("/getWorkerByGroupPage.action")
public R1 getWorkerByGroupPage(int currentPage, int size) throws SQLException {
//R1.OK() --->R1调用方法OK(),表示调用枚举类ok的对象 --->返回的也是一个R1对象;
//.data()--->这里的意思是上面返回的R1对象调用了方法.data()--->这个时候返回的还是一个R1对象;
//由于上一行还是返回的R1对象,所以还可以在后面又去调用.data()。以此类推,后面可以无限制调用.data()方法,并且data用泛型修饰,所以可以根据开发需求调用即可对应的个数即可
return R1.OK().data("集合数据").data("数组数据").data("name=zengyuqiang");
}
}



