springBoot统一响应类型3.5.3版本

前言:

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

简单回顾:全阶段

第一阶段:统一响应的简单应用

第二阶段:统一响应的起源

第三阶段:统一响应实体的起源

第四阶段:统一响应实体的面向对象优化

第五阶段:全局异常响应

正片:

第六阶段:全局响应

java 复制代码
@Slf4j
@ControllerAdvice
public class GlobalApiResultHandler implements ResponseBodyAdvice<Object> {

    @Override
    public boolean supports(MethodParameter returnType, Class<? extends HttpMessageConverter<?>> converterType) {
        return true;
    }

    @Override
    public Object beforeBodyWrite(Object body,
                                  MethodParameter returnType,
                                  MediaType selectedContentType,
                                  Class<? extends HttpMessageConverter<?>> selectedConverterType,
                                  ServerHttpRequest request,
                                  ServerHttpResponse response) {
        /**
         * 因为异常响应返回的是一个ApiResult,会导致重复
         * 所以使用一个判断,如果是ApiResult的,强转换,减少重复
         */
        log.warn("操作" + body);
        if (body instanceof ApiResult){
            return (ApiResult) body;
        }

        return ApiResultUnit.success(body);
    }
}

六大阶段

第一阶段:简单运用

第二阶段:起源

第三阶段:基础实体类

第四阶段:实体加工类(工具类)

第五阶段:全局异常响应

第六阶段:全局成功响应

相关推荐
用户3983461612017 分钟前
Go-Spring 实战第 15 课 —— Condition:根据配置和上下文激活 Bean
spring·go
凤山老林26 分钟前
DDD(领域驱动设计)在复杂业务系统中的落地指南
java·开发语言·数据库·ddd·领域驱动
JEECG低代码平台32 分钟前
JimuChatBI — 首款免费开源的 Java 智能问数ChatBI平台,零成本接入,AI对话式智能分析
java·人工智能·开源·aigc·人工智能低代码
霸道流氓气质40 分钟前
SpringBoot中使用Spring AI框架集成本地Ollama实现AI快速对话完整示例
人工智能·spring boot·spring
星梦清河1 小时前
Java—异步编程
java·开发语言
GIS数据转换器1 小时前
智慧能源管理平台
java·大数据·运维·人工智能·无人机
garmin Chen1 小时前
LeetcodeHot100打卡(14、合并空间,15、轮转数组,16、除了自身以外数组乘积,17.缺失的第一个整数)
java·笔记·学习·算法
接着奏乐接着舞1 小时前
dto 转entity方法
java·开发语言
我命由我123452 小时前
Android 开发问题:项目同时引入了两个包含相同类文件的库(AndroidX 库、旧版本支持库),导致了重复类错误
android·java·java-ee·android studio·android-studio·androidx·android runtime
梓色系2 小时前
Spring AI 实战:从零搭建 MCP 客户端与服务端,让大模型拥有“手脚“
java·人工智能·spring