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

无锡网站建设的公司策划案

无锡网站建设的公司,策划案,网站设置密码访问,南昌做网站优化文章目录 错误描述问题分析打印目前所有的消息处理器寻找适配版本消息解释器加载顺序 错误原因正确写法使用最新版本fastjson(2024-1-22)配置fastjson2消息转换器(保留系统原消息转换器)替换消息转换器配置fastjson2 错误描述 采用Bean的方式配置FastJsonHttpMessageConverter… 文章目录 错误描述问题分析打印目前所有的消息处理器寻找适配版本消息解释器加载顺序 错误原因正确写法使用最新版本fastjson(2024-1-22)配置fastjson2消息转换器(保留系统原消息转换器)替换消息转换器配置fastjson2 错误描述 采用Bean的方式配置FastJsonHttpMessageConverter消息解释器实测在【SpringBoot2.6.13】未生效 但是在【SpringBoot2.1.4.RELEASE】版本中正常 2.1.4.RELEASE中引入如下 dependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion1.2.56/version/dependency配置如下 import com.alibaba.fastjson.serializer.SerializeConfig; import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.fastjson.support.config.FastJsonConfig; import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;Beanpublic HttpMessageConverters fastJsonHttpMessageConverters() {FastJsonHttpMessageConverter fastConverter new FastJsonHttpMessageConverter();FastJsonConfig fastJsonConfig new FastJsonConfig();fastJsonConfig.setDateFormat(yyyy-MM-dd HH:mm:ss);fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat,SerializerFeature.QuoteFieldNames,SerializerFeature.WriteEnumUsingName,SerializerFeature.DisableCircularReferenceDetect);ListMediaType fastMediaTypes new ArrayList();fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);fastConverter.setSupportedMediaTypes(fastMediaTypes);fastConverter.setFastJsonConfig(fastJsonConfig);return new HttpMessageConverters(fastConverter);}问题分析 打印目前所有的消息处理器 通过打印消息处理器发现配置并未成功 public class MvcConfig implements WebMvcConfigurer {Overridepublic void extendMessageConverters(ListHttpMessageConverter? converters) {for (HttpMessageConverter? messageConverter : converters) {System.out.println(messageConverter);}} }得到如下输出日志 org.springframework.http.converter.ByteArrayHttpMessageConverter1ddf42dd org.springframework.http.converter.StringHttpMessageConverter5c1c9881 org.springframework.http.converter.ResourceHttpMessageConverter1c18ee69 org.springframework.http.converter.ResourceRegionHttpMessageConverter2f99d8c org.springframework.http.converter.xml.SourceHttpMessageConverter65d7eea4 org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter5d37aa0f org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter6076c66 org.springframework.http.converter.json.MappingJackson2HttpMessageConverter485c84d7寻找适配版本 官网可知fastjson早已停止更新新版本需使用fastjson2 在 Spring 中集成 Fastjson2 | fastjson2 (alibaba.github.io) 引入如下 dependencygroupIdcom.alibaba.fastjson2/groupIdartifactIdfastjson2-extension-spring5/artifactIdversion2.0.43/version /dependency官网得到如下配置 Configuration EnableWebMvc public class WebMvcConfigurer extends WebMvcConfigurerAdapter {Overridepublic void configureMessageConverters(ListHttpMessageConverter? converters) {FastJsonHttpMessageConverter converter new FastJsonHttpMessageConverter();//自定义配置...FastJsonConfig config new FastJsonConfig();config.setDateFormat(yyyy-MM-dd HH:mm:ss);config.setReaderFeatures(JSONReader.Feature.FieldBased, JSONReader.Feature.SupportArrayToBean);config.setWriterFeatures(JSONWriter.Feature.WriteMapNullValue, JSONWriter.Feature.PrettyFormat);converter.setFastJsonConfig(config);converter.setDefaultCharset(StandardCharsets.UTF_8);converter.setSupportedMediaTypes(Collections.singletonList(MediaType.APPLICATION_JSON));converters.add(0, converter);} }消息解释器加载顺序 需要将FastJsonHttpMessageConverter配置为第一位消息处理器才能得到输出 其测试过程如下 converters.add(converter);此时得到输出为 org.springframework.http.converter.ByteArrayHttpMessageConverter1ddf42dd org.springframework.http.converter.StringHttpMessageConverter5c1c9881 org.springframework.http.converter.ResourceHttpMessageConverter1c18ee69 org.springframework.http.converter.ResourceRegionHttpMessageConverter2f99d8c org.springframework.http.converter.xml.SourceHttpMessageConverter65d7eea4 org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter5d37aa0f org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter6076c66 org.springframework.http.converter.json.MappingJackson2HttpMessageConverter485c84d7 com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter1224e1b6实测未生效 {code: 200,msg: 请求成功,data: {loginName: null,userName: 柒杉,userCode: null,loginDate: 1705547281595} }修改为 converters.add(0, converter);得到输出 com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter2a667f44 org.springframework.http.converter.ByteArrayHttpMessageConverter53ba7997 org.springframework.http.converter.StringHttpMessageConverter3f6f9cef org.springframework.http.converter.ResourceHttpMessageConverter61dd1c3d org.springframework.http.converter.ResourceRegionHttpMessageConverter7858d31d org.springframework.http.converter.xml.SourceHttpMessageConverter782e6b40 org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter3b65084e org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter32d0d7eb org.springframework.http.converter.json.MappingJackson2HttpMessageConvertercae2a97错误原因 在高版本中需要采用最新的fastjson2配置正确写法 使用最新版本fastjson(2024-1-22) dependencygroupIdcom.alibaba.fastjson2/groupIdartifactIdfastjson2-extension-spring5/artifactIdversion2.0.43/version /dependency配置fastjson2消息转换器(保留系统原消息转换器) Overridepublic void extendMessageConverters(ListHttpMessageConverter? converters) {// 创建 FastJson 的消息转换器实例FastJsonHttpMessageConverter converter new FastJsonHttpMessageConverter();// 创建 FastJson 的配置实例FastJsonConfig config new FastJsonConfig();// 设置时间类型日期格式config.setDateFormat(yyyy-MM-dd HH:mm:ss);config.setReaderFeatures(// 基于字段序列化如果不配置会默认基于public的field和getter方法序列化。// 配置后会基于非static的field包括private做序列化。JSONReader.Feature.FieldBased,// 支持数据映射的方式JSONReader.Feature.SupportArrayToBean);config.setWriterFeatures(// 显示null与空字符串// JSONWriter.Feature.WriteMapNullValue,// 格式化输出JSONWriter.Feature.PrettyFormat,// 将Long序列化为StringJSONWriter.Feature.WriteLongAsString);// 将序列化配置设置到 FastJson 配置中converter.setFastJsonConfig(config);converter.setDefaultCharset(StandardCharsets.UTF_8);// 创建一个媒体类型表示支持 JSON 格式并使用 UTF-8 编码ListMediaType fastMediaTypes new ArrayList();MediaType utf8MediaType new MediaType(MediaType.APPLICATION_JSON, StandardCharsets.UTF_8);fastMediaTypes.add(utf8MediaType);converter.setSupportedMediaTypes(fastMediaTypes);// 将 FastJson 消息转换器添加到 Spring Boot 的消息转换器列表中位置是第一个这样确保它优先于其他消息转换器converters.add(0, converter);} 替换消息转换器配置fastjson2 Overridepublic void configureMessageConverters(ListHttpMessageConverter? converters) {// 创建 FastJson 的消息转换器实例FastJsonHttpMessageConverter converter new FastJsonHttpMessageConverter();// 创建 FastJson 的配置实例FastJsonConfig config new FastJsonConfig();// 设置时间类型日期格式config.setDateFormat(yyyy-MM-dd HH:mm:ss);config.setReaderFeatures(// 基于字段序列化如果不配置会默认基于public的field和getter方法序列化。// 配置后会基于非static的field包括private做序列化。JSONReader.Feature.FieldBased,// 支持数据映射的方式JSONReader.Feature.SupportArrayToBean);config.setWriterFeatures(// 显示null与空字符串// JSONWriter.Feature.WriteMapNullValue,// 格式化输出JSONWriter.Feature.PrettyFormat,// 将Long序列化为StringJSONWriter.Feature.WriteLongAsString);// 将序列化配置设置到 FastJson 配置中converter.setFastJsonConfig(config);converter.setDefaultCharset(StandardCharsets.UTF_8);// 创建一个媒体类型表示支持 JSON 格式并使用 UTF-8 编码ListMediaType fastMediaTypes new ArrayList();MediaType utf8MediaType new MediaType(MediaType.APPLICATION_JSON, StandardCharsets.UTF_8);fastMediaTypes.add(utf8MediaType);converter.setSupportedMediaTypes(fastMediaTypes);// 将 FastJson 消息转换器添加到 Spring Boot 的消息转换器列表中位置是第一个这样确保它优先于其他消息转换器converters.add(0, converter);}
http://www.hkea.cn/news/14265938/

相关文章:

  • 想注册一个设计网站吗景点网站建设方案
  • 做网站注意什么问题网站搬迁
  • 石家庄制作网站公司有哪些洛阳便宜网站建设费用
  • 网站移动端生成器域名网站注册认证
  • 自己做网站 什么软件微信公众平台视频网站开发
  • 网站定制公司写一篇推广商品的软文
  • 认证空间如何显示网站seo网站内部优化方案
  • 太原网站排名系统西安专业网站建设服务
  • 苏州市建设安全监督局网站wordpress不提示更新
  • ui设计培训班排名引擎优化seo是什么
  • 大庆建设网站表格下载dw软件手机版
  • 苏州网页服务开发与网站建设对电子商务网站建设的认识
  • 网站服务器位于北美湖北建站中心
  • ps做网站导航条高度拙人营造设计公司官网
  • 中药材天地网做中药零售网站成都网站建设网站制作公司
  • 网站建设选择题题库网站建设 官网
  • 河南微网站开发河南高端网站高端网站建设
  • 神奇网站廊坊seo外包公司费用
  • 西安工商注册网上平台北京网站优化外包
  • 产品是做网站做网站能做职业吗
  • 网站空间哪里便宜山西房地产网站建设
  • 民生热点新闻seo咨询价格找推推蛙
  • 宁波网站建设方案报价长沙网开亿面做网站多少钱
  • 国内外网站大连建设工程交易中心
  • 建筑毕业设计代做网站网站侧边菜单
  • seo网站建设规划做网站好的网络公司
  • 黄页网页的推广网站wordpress jexus
  • 外贸网站建设不可缺少的灵活性一般做企业网站需要什么
  • 揭阳网站开发mituad网站备案管理办法
  • 做网站服务费税率邯郸网站建设优化排名