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

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

}

成功

失败

报错是不适合的

为什么会不一样呢?

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

相关文章:

  • OpenHarmony-4.基于dayu800 GPIO 实践(2)
  • 5.6 Mybatis代码生成器Mybatis Generator (MBG)实战详解
  • Bootstrap5 网格系统
  • 并发 -- 无锁算法与结构
  • 网站快速收录:如何优化网站音频内容?
  • Redis 集群的三种模式:一主一从、一主多从和多主多从
  • 计算机领域里注重实战的9本书
  • 跟着AI学vue第九章
  • R语言Stan贝叶斯空间条件自回归CAR模型分析死亡率多维度数据可视化
  • Java中的@JSONField注解详解:用法、场景与实践
  • Docker 与 Nginx:容器化 Web 服务器
  • OpenCV4.8 开发实战系列专栏之 34 - 图像锐化
  • golang性能分析之pprof
  • 2025年信息科学与工程学院科协机器学习介绍——conda环境配置
  • TypeScript 类型断言的适用场景及代码示例
  • 手撕跳表/数据结构
  • EasyExcel 实践案例:打印工资条
  • 一周学会Flask3 Python Web开发-Jinja2模板访问对象
  • w226经方药食两用服务平台的设计与实现
  • C++ 中的继承详解(上)
  • wordpress首页列表分页/绍兴seo排名公司
  • 网站建设制作流程/百度网站电话是多少
  • 无锡企业网站公司/最近在线直播免费观看
  • 如何开wordpress网站/南昌网优化seo公司
  • 益阳营销型网站建设/百度推广关键词排名规则
  • 怎么找做网站的公司/seo人员培训