springboot2.4配置springmvc配置fastjson转换(springmvc配置WebMvcConfigurationSupport导致swagger无法访问)

最近简单建了个项目整合了下swagger3.0给java同学用,项目内的一些配置都是cv的以前老项目。发现接口返回的时间数据转换失败,结果都是UTC格式时间。仔细研究了下发现是配置写法问题导致fastjson转换不生效。顺便解决了下springMVC配置继承的WebMvcConfigurerAdapter已经废弃的问题(最终正确配置代码末尾)


错误示例:

在这里插入图片描述
结果:
在这里插入图片描述

修改后配置如下:

在这里插入图片描述
结果
在这里插入图片描述

还有一种网上流传的配置是继承WebMvcConfigurationSupport,这种情况配置会导致其他swagger3.0界面无法访问

在这里插入图片描述

最终配置代码
package com.project.work.config;
//...

/**
 * Spring MVC 配置
 */
@Configuration
public class SpringMvcConfigurer implements WebMvcConfigurer {
	// 重点 把该转换器注入
    @Bean
    public HttpMessageConverter fastJsonHttpMessageConverters(){
        FastJsonHttpMessageConverter fastConverter=new FastJsonHttpMessageConverter();
        FastJsonConfig fastJsonConfig=new FastJsonConfig();
        fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
        fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss");
        fastConverter.setFastJsonConfig(fastJsonConfig);
        fastConverter.setDefaultCharset(Charset.forName("UTF-8"));
        HttpMessageConverter<?> converter=fastConverter;
        return converter;
    }
    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        converters.add(fastJsonHttpMessageConverters());
    }

    //统一异常处理
    @Override
    public void configureHandlerExceptionResolvers(List<HandlerExceptionResolver> exceptionResolvers) {}

    //解决跨域问题
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedHeaders("*")
                .allowedMethods("*")
                .allowedOrigins("*");
    }

    //添加拦截器
    @Override
    public void addInterceptors(InterceptorRegistry registry) {}
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值