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

六大阶段

第一阶段:简单运用

第二阶段:起源

第三阶段:基础实体类

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

第五阶段:全局异常响应

第六阶段:全局成功响应

相关推荐
向哆哆10 分钟前
Java 加密与解密:从算法到应用的全面解析
java·开发语言·算法
quququ_213817 分钟前
Java面试:从Spring Boot到微服务的全面考核
spring boot·微服务·kubernetes·mybatis·hibernate·java面试
新生农民1 小时前
30分钟解决8道算法题
java·数据结构·算法
yuren_xia1 小时前
使用 JUnit 4在 Spring 中进行单元测试的完整步骤
spring·junit·单元测试
sinat_262292112 小时前
Java面试实战:音视频场景下的微服务架构与缓存技术剖析
java·spring boot·redis·微服务·kafka·分布式系统·面试技巧
mask哥2 小时前
详解springcloudalibaba采用prometheus+grafana实现服务监控
java·nacos·springboot·grafana·prometheus·springcloud·微服务监控
振鹏Dong2 小时前
Java基础&集合 面试经典八股总结 [连载ing]
java
SoFlu软件机器人6 小时前
飞算 JavaAI 与 Spring Boot:如何实现微服务开发效率翻倍?
spring boot·后端·微服务
不当菜虚困6 小时前
JAVA设计模式——(二)组合模式
java·设计模式·组合模式
jack_xu7 小时前
经典大厂面试题——缓存穿透、缓存击穿、缓存雪崩
java·redis·后端