4统一返回数据格式

本文介绍了如何在Java后端实现统一的API返回数据格式,包括使用JSON、定义ResultCode接口、创建R结果类以及利用Lombok进行链式编程。通过这种方式,可以确保前端在处理不同接口返回的数据时保持一致性,简化开发流程。
摘要由CSDN通过智能技术生成

统一返回数据格式

为了多人开发时,所有接口返回相同格式数据

一般用json数据格式,前端(iOS Android, Web)对数据的操作更一致、轻松

我们定义统一结果

这里很重要,注意理解统一的思想!

  {"success": 布尔, //响应是否成功
  "code": 数字, //响应码
  "message": 字符串, //返回消息
  "data": HashMap //返回数据,放在键值对中
}

所有模块都要用到返回结果,所以我们把类放在common里面

建一个common_utils类

在这里插入图片描述

创建接口定义返回码

我们可以定义枚举类和常量类(学一学)

定义数据返回状态码

*成功20000

*失败20001

创建包com.atguigu.commonutils,

创建接口interface:ResultCode.java**

package com.atguigu.commonutils;

public interface ResultCode {

    public static Integer SUCCESS = 20000;

    public static Integer ERROR = 20001;
}

在这里插入图片描述

定义返回数据格式

定义一个返回类(个人理解)

我们这里创建一个结果类 R.java

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

在这里插入图片描述
在这里插入图片描述

在settings里面的plugins插件商店安装lombok,不然会报错

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

以上的做法就是为了做到一个操作:链式编程

里面的值可以被调用到

这里我们说一下链式编程

R.ok().code().message().methods()等等

这就是链式编程写法

我们写这些要在controller类里面用到。
在这里插入图片描述
在这里插入图片描述

下面我们用一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值