SpringBoot系列记录(十)——SpringBoot封装统一返回数据格式

一、定义统一响应结果类

名称 描述
code 状态码:0成功,-1失败
msg 响应信息
data 返回数据
public class ResultReturn implements Serializable {

    private static final long serialVersionUID = 5805792987639183304L;
    /**
     * 0成功  -1失败
     */
    private String code;

    private String msg;

    private Object data;

    省略getter,setter...

    public ResultReturn(){
        super();
    }

    public ResultReturn(String code, String msg){
        this.code = code;
        this.msg = msg;
    }

    public ResultReturn(String code, String msg, Object data){
        this.code = code;
        this.msg = msg;
        this.data = data;
    }
}

二、工具类

构建一个返回结果工具类,使得不用在每个业务方法中去new一个ResultReturn对象,代码看起来也更加简洁。

public class ResultReturnUtil {

    /**
     * 成功 返回默认码值
     * @param msg
     * @return
     */
    public static ResultReturn success(String msg){
        return new ResultReturn("0",msg);
    }

    /**
     * 成功  返回自定义码值
     * @param code
     * @param msg
     * @return
     */
    public static ResultReturn success(String code, String msg){
        return new ResultReturn(code,msg);
    }

    public static ResultReturn success(String msg, Object data){
        return  new ResultReturn("0",msg,data);
    }

    public static ResultReturn fail(String msg){
        return new ResultReturn("-1",msg);
    }

    public static ResultReturn fail(String code, String msg){
        return new ResultReturn(code,msg);
    }
}

对于工具类中的静态方法根据不同的场景来定义,比如我这里定义了一个可以自定义状态码的方法。

三、通用常量信息类

对于一些增删改查的操作,它的返回信息我们可以使用字符串常量类来事先定义好,就不用每次去写了。这里举个栗子

public class Constant {

    /**
     * 数据插入成功返回信息
     */
    public static final String ADDINFO_SUCCESS = "数据添加成功!";

    /**
     * 数据插入失败返回信息
     */
    public static final String ADDINFO_FAIL = "数据添加失败";

}

四、使用与测试

比如说我这里需要添加一个用户     举个栗子,不要复制代码

SpringBoot系列记录(十)——SpringBoot封装统一返回数据格式_第1张图片

 Controller:

@Controller
@RequestMapping("/userManage")
public class UserController{

    @Autowired
    UserService userService;
    /**
     * 添加用户数据
     * @param user
     * @return
     */
    @CustomLogNotes(module = "添加用户")
    @RequestMapping("/doAddUser")
    @ResponseBody
    public ResultReturn doAddUser(User user) {
        return userService.addUser(user);
    }


}

Service:

直接看实现类   这里就用到我们的工具类了

@Service("userService")
public class UserServiceImpl implements UserService {
    @Autowired
    UserMapper userMapper;

 @Override
 public ResultReturn addUser(User user) {
         int flag = userMapper.insert(user);
        if (flag > 0){
           return ResultReturnUtil.success(Constant.ADDINFO_SUCCESS);
        }else{
            return ResultReturnUtil.fail(Constant.ADDINFO_FAIL);
        }
   }
}

返回结果

你可能感兴趣的:(java,spring,boot)