统一返回数据格式

这篇博客介绍了如何创建一个统一的REST API响应类`R`,用于封装成功或失败的返回结果,包括布尔型的成功标志、整数状态码、返回消息和数据映射。同时定义了一个`ResultCode`接口来约定常见的状态码,如20000表示成功,20001表示失败。这个公共类设计采用Lombok注解提高代码简洁性,并实现了链式编程方法,方便构建响应对象。
摘要由CSDN通过智能技术生成

自定义的返回的数据格式如下,以后工作可能是类似的数据格式

 可以将这个也放在一个公共模块里,类似swagger一样通过引入模块来用这个公共类

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.HashMap;
import java.util.Map;

//统一返回结果
@Data
public class R {
    @ApiModelProperty(value = "是否成功")
    private Boolean success;
    @ApiModelProperty(value = "返回码")
    private Integer code;
    @ApiModelProperty(value = "返回消息")
    private String message;
    @ApiModelProperty(value = "返回数据")
    private Map<String, Object> data = new HashMap<String, Object>();

    //把构造方法私有,别人不能new这个类
    private R() {}

    //链式编程

    //静态方法  成功(静态方法可以通过类.方法来使用)
    public static R ok() {
        R r = new R();
        r.setSuccess(true);
        r.setCode(ResultCode.SUCCESS);
        r.setMessage("成功");
        return r;
    }

    //静态方法  失败(静态方法可以通过类.方法来使用)
    public static R error() {
        R r = new R();
        r.setSuccess(false);
        r.setCode(ResultCode.ERROR);
        r.setMessage("失败");
        return r;
    }


//返回this就是当前的r实例对象,为了实现链式编程才返回this
    public R success(Boolean success){
        this.setSuccess(success);
        return this;
    }
    public R message(String message){
        this.setMessage(message);
        return this;
    }
    public R code(Integer code){
        this.setCode(code);
        return this;
    }
    public R data(String key, Object value){
        this.data.put(key, value);
        return this;
    }
    public R data(Map<String, Object> map){
        this.setData(map);
        return this;
    }
}

状态码用一个接口来定义

public interface ResultCode {

    public static Integer SUCCESS = 20000;//响应码,20000表示成功
    public static Integer ERROR = 20001;//20001表示失败
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SpringBoot通过使用统一的数据返回格式可以提高开发效率和代码的可维护性。返回统一的JSON数据格式可以统一前后端之间的数据交互方式,减少沟通成本,并且提高了代码的可读性和可维护性。 在SpringBoot中,可以定义一个全局异常处理器(GlobalExceptionHandler),用于捕获和处理全局的异常。在异常处理器中,可以定义一个统一的数据返回格式,包括状态码、提示信息和返回数据。当发生异常时,异常处理器会将异常信息封装成统一的JSON数据格式返回给前端,以便前端进行处理。 为了实现统一的数据返回格式,可以定义一个响应对象(ResponseObject),包含对应的状态码、提示信息和返回数据。在业务逻辑处理中,统一使用ResponseObject来封装返回的数据,然后再返回给前端。 在控制器层中,可以使用ResponseEntity对象来返回统一的JSON数据格式。通过使用ResponseEntity.ok()方法可以返回一个状态码为200的成功响应,然后将ResponseObject对象作为响应的数据。这样,无论是成功还是失败,都能以统一的JSON数据格式返回给前端。 在返回数据时,可以添加一些通用的字段,如请求ID、访问时间等,以便用于日志记录和跟踪。 通过采用统一的JSON数据返回格式,可以提高代码的可读性、可维护性和规范性,方便前后端的协作和沟通。同时,也可以方便后期的维护和扩展,减少了代码的冗余和重复编写。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值