泛型类封装的resultful
1.新建R类
/**
* @Auther liang
* @Description 统一返回的resultful
* @Date 2020/3/3 17:09
**/
public class R<T> implements Serializable {
private static final long serialVersionUID = 1L;
public static final int NO_LOGIN = -1;
public static final int SUCCESS = 0;
public static final int FAIL = 1;
public static final int NO_PERMISSION = 2;
private String msg = "success";
private int code = SUCCESS;
private T data;
public R() {
super();
}
public R(T data) {
super();
this.data = data;
}
public R(T data, String msg) {
super();
this.data = data;
this.msg = msg;
}
public R(T data, int code) {
super();
this.data = data;
this.code = code;
}
public R(Throwable e) {
super();
this.msg = e.getMessage();
this.code = FAIL;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
}
2.controller返回结果写法
@RestController
@RequestMapping(value = "/api/v1")
@Slf4j
public class DemoController {
/**
* @return R<>
* @Author liang
* @Description
* @Date 17:04 2020/3/3
* @Param []
**/
@ExceptionHandler(Exception.class)
@RequestMapping(value = "/getData", method = RequestMethod.GET)
public R<String> getData() {
return new R<String>("返回结果");
}
其中R中的泛型T为实际返回结果的类型。例如:基本类型、实体类等。
3.返回结果
{
"msg": "success",
"code": 0,
"data":"返回结果"
}
以上如有不正确的地方,请大家指出改正!