`

springboot返回值拦截并格式化

阅读更多


@ControllerAdvice
public class ResponseDataHandler implements ResponseBodyAdvice {
    @Override
    public boolean supports(MethodParameter returnType, Class converterType) {
        return true;
    }

    @Override
    public Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType, Class selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) {
        if (returnType.hasMethodAnnotation(ExceptionHandler.class)) {
            //处理异常,可以再添加一个异常处理的类,用于处理异常返回格式
            return body;
        } else {
            return new ResponseBodyDTO(body);
        }
    }
}

 让springboot装配这个拦截器
@Configuration
public class WebConfig implements WebMvcConfigurer{


    @Bean
    public HttpMessageConverters useConverters() {

        return new HttpMessageConverters(new FastJsonHttpMessageConverter());
    }
}

 

分享到:
评论

相关推荐

    SpringBoot的拦截器

    - 当`preHandle()`返回`false`时,表示请求被拦截并终止,控制器方法不会被执行。这通常用于处理异常情况,如未登录用户尝试访问受保护的资源。 `postHandle()`方法在控制器方法执行后,但视图渲染前调用,可以用来...

    包装SpringBoot Controller返回值

    包装SpringBoot Controller返回值示例代码。 建议用idea导入。

    springboot利用拦截器打印各个接口的响应时间.rar

    springboot利用拦截器打印各个接口的响应时间,快速统计各接口执行速度,方便接口优化。springboot利用拦截器打印各个接口的响应时间,快速统计各接口执行速度,方便接口优化。springboot利用拦截器打印各个接口的响应...

    springboot工程自定义response注解、自定义规范化返回数据结构

    创建一个切面类,它会在方法执行后捕获结果,并根据`@CustomResponse`中的元信息来构造规范化的返回数据结构: ```java @Aspect @Component public class CustomResponseAspect { @AfterReturning("@annotation...

    springboot spring aop 拦截器注解方式实现脱敏

    启动类通常会包含`@SpringBootApplication`注解,该注解包含了`@EnableAutoConfiguration`,`@ComponentScan`和`@SpringBootConfiguration`,它们一起告诉Spring Boot自动配置应用,并扫描组件。启动类可能会看起来...

    Spring拦截器,高级参数绑定

    下面将详细探讨Spring拦截器的使用以及高级参数绑定和Controller返回值的相关知识。 首先,我们创建一个Spring拦截器需要实现HandlerInterceptor接口或继承HandlerInterceptorAdapter抽象类。以下是一个简单的拦截...

    SpringBoot 枚举类型转换

    在SpringBoot 项目中实现枚举转换,需要创建BaseEnumTypeHandler 类继承BaseEnum 和 BaseTypeHandler 等相关类。想要详细了解如何实现枚举转换的话,那你快点下载后深入理解吧!

    Springboot拦截器进行拦截请求的一系列操作演示.docx

    在Spring Boot中,我们可以通过实现`WebMvcConfigurer`接口并重写`addInterceptors`方法来添加自定义的拦截器。例如: ```java @Configuration public class WebConfiguration implements WebMvcConfigurer { @...

    SpringBoot拦截器

    当一个HTTP请求到达Spring Boot应用时,Spring MVC会按照配置的拦截器顺序逐个调用`preHandle()`方法,如果返回值为`true`,则继续执行下一个拦截器的`preHandle()`,直至所有拦截器都处理完毕后,才会执行目标控制...

    SpringBoot拦截器实现登录拦截的方法示例

    在SpringBoot中实现登录拦截器,我们通常会创建一个拦截器类实现HandlerInterceptor接口,并重写其preHandle方法。preHandle方法会在请求处理之前进行调用。若返回值为false,请求将被中断,控制器中的方法不会被...

    22. Spring Boot 拦截器HandlerInterceptor【从零开始学Spring Boot】

    实现拦截器,我们需要创建一个类并实现`HandlerInterceptor`接口。下面是一个简单的示例: ```java import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerInterceptor...

    SpringBoot控制器统一的响应体加密与请求体解密的注解处理方式

    为了保护数据传输的安全,通常需要对控制器返回的响应体进行加密,并确保接收到的请求体能够正确解密。在本主题中,我们将探讨如何利用自定义注解来实现SpringBoot中统一的响应体加密和请求体解密,支持MD5、SHA、...

    易语言API格式化磁盘

    上述代码中,通过`获取错误信息`函数检查返回值,如果格式化失败,可以获取错误信息并显示给用户。在编写实际的易语言程序时,应该根据具体需求添加更多的错误处理逻辑。 最后,易语言API格式化磁盘源码的学习和...

    springboot整合mybatis,接口返回值利用pagehelper实现分页

    在本文中,我们将深入探讨如何在SpringBoot项目中整合MyBatis,并利用PageHelper插件实现接口返回值的分页功能。SpringBoot以其简洁、快速的特性,成为了现代Java开发中的首选框架,而MyBatis作为轻量级的持久层框架...

    springboot 处理返回结果中字段为空或为null,不展示字段的问题(字段展示不全)

    springboot 处理返回结果中字段为空或为null,不展示字段的问题(字段展示不全),给为空字段初始化值,如:字符串null转换为"

    [springboot源码探索]返回值处理.md

    [springboot源码探索]返回值处理

    详解SpringCloud Zuul过滤器返回值拦截

    本文将详细讲解如何在SpringCloud Zuul中实现过滤器对返回值的拦截。 首先,Zuul的核心在于过滤器(Filter),它允许我们在请求被路由之前、路由过程中、路由之后以及出现错误时插入自定义逻辑。Zuul提供了四种类型...

    springboot统返回结果集工具类demo

    springboot统返回结果集工具类demo

    springboot整合Shiro与Jwt并封装统一返回值

    son web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和...

    SpringBoot的filter过滤器(源代码)

    SpringBoot的filter过滤器 一、过滤器的作用和概述 1.1 简述 1.2 使用场景 二、自定义过滤的两种方式 2.1 第一种方式 2.1.1 启动类增加注解@ServletComponentScan 2.1.2 定义一个filter类 2.1.3. 测试 2.2 第二种...

Global site tag (gtag.js) - Google Analytics