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 = "数据添加失败";

}

四、使用与测试

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

 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);
        }
   }
}

返回结果

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LoneWalker、

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值