1. 创建工具类ResultUtil.java
package com.example.demo.utils;
import lombok.Data;
@Data
public class ResultUtil<T> {
public static final Integer SUCCESS_CODE = 200;
public static final Integer FAIL_CODE = 4000;
public static final String SUCCESS_MESSAGE = "操作成功";
public static final String FAIL_MESSAGE = "操作失败";
/**
* 返回状态码
*/
private Integer code;
/**
* 返回信息
*/
private String message;
/**
* 返回数据
*/
private T data;
private ResultUtil() {
}
public static <T> ResultUtil<T> success() {
ResultUtil<T> resultUtil = new ResultUtil<>();
resultUtil.setCode(SUCCESS_CODE);
resultUtil.setMessage(SUCCESS_MESSAGE);
return resultUtil;
}
public static <T> ResultUtil<T> success(T data) {
ResultUtil<T> resultUtil = success();
resultUtil.setData(data);
return resultUtil;
}
public static <T> ResultUtil<T> success(String message, T data) {
ResultUtil<T> resultUtil = success();
resultUtil.setMessage(message);
resultUtil.setData(data);
return resultUtil;
}
public static <T> ResultUtil<T> success(Integer code, String message, T data) {
ResultUtil<T> resultUtil = new ResultUtil<>();
resultUtil.setCode(code);
resultUtil.setMessage(message);
resultUtil.setData(data);
return resultUtil;
}
public static <T> ResultUtil<T> success(Integer code, String message,Integer count, T data) {
ResultUtil<T> resultUtil = new ResultUtil<>();
resultUtil.setCode(code);
resultUtil.setMessage(message);
resultUtil.setCount(count);
resultUtil.setData(data);
return resultUtil;
}
public static <T> ResultUtil<T> fail() {
ResultUtil<T> resultUtil = new ResultUtil<>();
resultUtil.setCode(FAIL_CODE);
resultUtil.setMessage(FAIL_MESSAGE);
return resultUtil;
}
public static <T> ResultUtil<T> fail(T data) {
ResultUtil<T> resultUtil = fail();
resultUtil.setData(data);
return resultUtil;
}
public static <T> ResultUtil<T> fail(String message, T data) {
ResultUtil<T> resultUtil = fail();
resultUtil.setMessage(message);
resultUtil.setData(data);
return resultUtil;
}
public static <T> ResultUtil<T> fail(Integer code, String message) {
ResultUtil<T> resultUtil = fail();
resultUtil.setCode(code);
resultUtil.setMessage(message);
return resultUtil;
}
public static <T> ResultUtil<T> fail(Integer code, String message, T data) {
ResultUtil<T> resultUtil = new ResultUtil<>();
resultUtil.setCode(code);
resultUtil.setMessage(message);
resultUtil.setData(data);
return resultUtil;
}
public void setCode(int code){
this.code = code;
}
public int getCode(){
return this.code;
}
public void setMessage(String message){
this.message = message;
}
public String getMessage(){
return message;
}
public void setData(T data){
this.data = data;
}
public T getData(){
return data;
}
}
2. 结果工具类的使用
// 获取用户列表
@ApiOperation(value = "获取用户列表")
@GetMapping("/list")
public ResultUtil<List<User>> list(){
return ResultUtil.success(userServiceImpl.list());
}
// 获取用户信息
@ApiOperation(value = "获取用户信息")
@GetMapping("/info")
public ResultUtil<User> info(@RequestParam int id){
return ResultUtil.success(userServiceImpl.info(id));
}
// 添加用户
@ApiOperation(value = "添加用户")
@PostMapping("/add")
public ResultUtil<String> add(@RequestBody User user){
if(userServiceImpl.add(user) == 1){
return ResultUtil.success("操作成功");
}else{
return ResultUtil.fail("操作失败");
}
}