当前位置: 首页 > article >正文

springBoot统一响应类型2.0版本

前言:

通过实践而发现真理,又通过实践而证实真理和发展真理。从感性认识而能动地发展到理性认识,又从理性认识而能动地指导革命实践,改造主观世界和客观世界。实践、认识、再实践、再认识,这种形式,循环往复以至无穷,而实践和认识之每一循环的内容,都比较地进到了高一级的程度。

简单回顾我们的统一响应
​
@Data  //添加get&set方法
public class apiResult<T> {

    private int code;
    private String message;
    private T data;

    //响应成功
    public apiResult(int code, String message, T data) {
        this.code = code;
        this.message = message;
        this.data = data;
    }
    
    //响应失败
    public apiResult(int code,String message){
        this.code = code;
        this.message = message;
    }

}

​

不够优雅,不够简单,不够大方,但是能用

体验下来还不错

正片:

本期目标也就出来了,让它变得优雅

接口响应可以分为两大类,

        第一类:成功

        第二类:失败

我们创建一个加工类,专门用来构建成功和失败的示例

/**
 * 统一响应类实例化工具
 */

public class apiResultYOUYA {
    //http成功状态码
    private static final int OK = HttpStatus.OK.value();
    //隔着报错状态码
    private static int NO = HttpStatus.INTERNAL_SERVER_ERROR.value();

    //基本成功响应
    public static <T>apiResult<T> success(T data){
        return new apiResult<>(OK,"操作成功",data);
    }
    //自定义信息成功响应
    public static <T>apiResult<T> success(String message,T data){
        return new apiResult<>(OK,message,data);
    }
    //基础失败响应
    public static <T>apiResult<T> error(){
        return new apiResult<>(NO,"系统错误,请联系管理员",null);
    }
    //自定义信息失败响应
    public static <T>apiResult<T> error(String message){
        return new apiResult<>(NO,message,null);
    }
}

运用

@RestController
public class test {

    @Resource
    UserPageServer userPageServer;

    /**
     * 自定义响应信息的运用
     *
     * @param id
     * @return
     */

    @GetMapping("/id")
    public apiResult<UserPageEntity> id(int id){
    UserPageEntity userPage = userPageServer.UserByID(id);
    if (userPage == null)
        return apiResultYOUYA.error("老登,没有这一号人,是不是记错了");
    return apiResultYOUYA.success("成功查询,老登",userPage);
}

}

成功

失败

报错是不适合的

为什么会不一样呢?

我们并没用覆盖掉统一的异常报错,这只是简单的响应返回,我们响应统一覆盖掉异常报错才能做到解决


http://www.kler.cn/a/561049.html

相关文章:

  • 力扣3102.最小化曼哈顿距离
  • vue 3D 翻页效果
  • 使用 金南瓜EAP库 进行 二次开发与半导体厂家进行通讯源码
  • 基于云的物联网系统用于实时有害藻华监测:通过MQTT和REST API无缝集成ThingsBoard
  • DeepSeek开源FlashMLA:颠覆大模型训练效率的新一代技术解析
  • 蓝桥杯第十六届嵌入式模拟编程题解析
  • 2 算法1-2 明明的随机数
  • redis---字符串SDS(简单动态字符串)底层结构
  • 【无人集群系列---无人机集群编队算法】
  • 免填邀请码工具:赋能六大核心场景,重构App增长新模型
  • 故障诊断 | DCS差异创意搜索算法优化CatBoost故障诊断(MatlabPython)
  • 微软量子芯片引领人工智能革命,开启计算新纪元
  • 算法日记27:完全背包(DFS->记忆化搜索->倒叙DP->顺序DP->空间优化)
  • 当G1机器人跳出“丝滑舞步“:算力+AI 催生具身智能
  • 鸿蒙系统-同应用跨设备数据同步(分布式功能)
  • 【SQLI】sqlmap Tamper 脚本分类总结
  • LangChain教程 - RAG - PDF摘要
  • Elasticsearch中的CURL请求详解
  • Java——单例类设计模式
  • 【栈与队列】N叉树的层序遍历 二叉树的锯齿形层序遍历