做网站后期为什么续费中国站免费推广入口

web/2025/9/26 5:31:53/文章来源:
做网站后期为什么续费,中国站免费推广入口,360网站页面的工具栏怎么做,国家建设部网站官网证件查询Spring 对请求参数的优雅处方式#xff08;重写序列化方法#xff09; 描述前端传参方式介绍代码实现#xff1a;1、重写序列化方式代码2、设置类自动加载到 Spring 中 描述 在我们日常项目开发过程中#xff0c;往往会遇到前端请求参数中有空格的情况#xff0c;前端提交… Spring 对请求参数的优雅处方式重写序列化方法 描述前端传参方式介绍代码实现1、重写序列化方式代码2、设置类自动加载到 Spring 中 描述 在我们日常项目开发过程中往往会遇到前端请求参数中有空格的情况前端提交后后端的字符串什么形式的都有例 xxx , xxxxx , “”, “null” 等等这样不对空格进行处理直接传参不仅浪费空间还会造成数据跟查询结果有出入的情况引起很多不必要的麻烦。那么怎么快速的去除前端传参中字符串类型参数的前后空格呢 前端传参方式介绍 在开发过程中后端接收前端的传参有两种方式 使用 url 或者 form 表单进行传参后端通过 RequestParam 注解的方式从 url 中获取参数。使用 body 进行传参后端通过 RequestBody 注解进行参数的接收。 对于 url 或者 form 表单的方式我们在参数绑定时注册下面的类即可对参数进行处理 RestControllerAdvice public class GlobalHandler {private static final Logger LOGGER LoggerFactory.getLogger(GlobalHandler.class);/*** url和form表单中的参数trim* param binder*/InitBinderpublic void initBinder(WebDataBinder binder) {// 构造方法中 boolean 参数含义为如果是空白字符串, 是否转换为 null// 即如果为 true, 那么 会被转换为 null, 否者为binder.registerCustomEditor(String.class, new StringTrimmerEditor(true));} }对于使用 body 中的 JSON 或者 XML 的传参方式在 Spring 中默认是使用的 Jackson 对参数进行序列化处理所以对 Jackson 加入如下的自定义转换器即可实现 Configuration public class ApplicationConfig {/*** Request Body中JSON或XML对象参数trim** return*/Beanpublic Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {return jacksonObjectMapperBuilder - {// 时区问题jacksonObjectMapperBuilder.timeZone(TimeZone.getDefault());jacksonObjectMapperBuilder.deserializerByType(String.class, new StdScalarDeserializerString(String.class) {Overridepublic String deserialize(JsonParser jsonParser, DeserializationContext ctx)throws IOException {// 去除前后空格return StringUtils.trimWhitespace(jsonParser.getValueAsString());}});};} }代码实现 1、重写序列化方式代码 对于上述的两种传参方式我们优化一下将两个合并成一个统一的类来进行实现 package com.wblog.framework.config;import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer; import org.springframework.beans.propertyeditors.StringTrimmerEditor; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; import org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.util.StringUtils; import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.InitBinder; import org.springframework.web.servlet.DispatcherServlet; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;import javax.servlet.Servlet; import java.io.IOException;/*** 序列化处理前端请求数据的前后空格* author wangxk* date 2023-12-27*/ Configuration ConditionalOnWebApplication(type ConditionalOnWebApplication.Type.SERVLET) ConditionalOnClass({Servlet.class, DispatcherServlet.class, WebMvcConfigurer.class}) AutoConfigureAfter(WebMvcAutoConfiguration.class) public class WebMvcStringTrimAutoConfiguration {ControllerAdvicepublic static class ControllerStringParamTrimConfig {/*** url和form表单中的参数trim*/InitBinderpublic void initBinder(WebDataBinder binder) {// 构造方法中 boolean 参数含义为如果是空白字符串,是否转换为null// 即如果为true,那么 会被转换为 null,否者为 StringTrimmerEditor stringTrimmerEditor new StringTrimmerEditor(false);binder.registerCustomEditor(String.class, stringTrimmerEditor);}}/*** Request Body中JSON或XML对象参数trim*/Beanpublic Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {return jacksonObjectMapperBuilder - jacksonObjectMapperBuilder.deserializerByType(String.class, new StdScalarDeserializerString(String.class) {Overridepublic String deserialize(JsonParser jsonParser, DeserializationContext ctx)throws IOException {System.out.println(Jackson2ObjectMapperBuilderCustomizer jsonParser.getValueAsString() jsonParser.getValueAsString());return StringUtils.trimWhitespace(jsonParser.getValueAsString());}});} }2、设置类自动加载到 Spring 中 由于 Spring 启动时是默认加载同级别目录下所有的 Bean如果我们重写的 WebMvcStringTrimAutoConfiguration 类是在外部目录时我们就需要手动去指定一下需要加载的类在 resurces 下创建 META-INF/spring.factories 文件将我们的类加到里面去 org.springframework.boot.autoconfigure.EnableAutoConfiguration\ com.wblog.framework.config.WebMvcStringTrimAutoConfiguration参考链接 SpringBoot去除字符串类型参数的前后空格Springmvc请求参数的优雅处方式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/81340.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

南山最专业的网站建设中企动力这个公司怎么样

一、公共英语考试介绍 全国英语等级考试(又称公共英语考试)设置五个级别和一个附属级,五个级别是: 一级[含一级(B),即附属级]、二级、三级、四级、五级。 公共英语一级的说明:一级是初始级&…

网站js修改头像代码wordpress评论显示楼层

github或者gitee远程新建空仓库,在本地推送已有的仓库到远程新仓库。 1、远程新建新仓库,例如stm32repo 2、本地仓库添加远程仓库 git remote add origin https://gitee.com/xxxx/stm32repo.git 3、本地仓库完成提交后,推送到远程仓库 gi…

深圳集团网站建设公司WordPress go.php 代码

下列的下载代码示例是 HttpClientSample。它以不同的方式异步调用Web 服务。为了演示本例使用的不同方法,使用了命令行参数。示例代码使用了以下名称空间:System System.Linq System.Net System.Net.Http System.Net.Http.Headers System.Threading Sy…

网站后台需要ie6修改在线平面设计免费

『001』索引-Linux Shell Command shell命令 《01》【线上查询及帮助】【001】-【001】 【001】- 点我快速打开文章【man】【help】【已改版】《02》【文件及目录操作】【002】-【008】 【002】- 点我快速打开文章【ls】【cd】【已改版】【003】- 点我快速打开文章【cp】【find…

网站页面设计报价怎么做网页跳转

问题描述: 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环&#xff0…

齐河县工程建设监理有限公司网站中国邮政做特产得网站

C - Cats Gym - 102875C 题意: n个猫,猫的身高在1到20之间,现在求这些猫的排列,满足一样高的猫不靠着,且他们之间的最矮的猫不比他们高 输出任意符合条件的排列 题解: 构造题 题目的限制条件决定了&…

徐州网站公司财务系统

转载于:https://www.cnblogs.com/diantao/p/5693877.html

天津建设网站安全员考试查询温州网站改版

Python元类:metaclass 1、类也是对象2、什么是元类3、__metaclass__属性4、自定义元类5、为什么要用metaclass类而不是函数6、究竟为什么要使用元类7、结语 声明: 本文主要参考文章:https://stackoverflow.com/questions/100003/what-are-met…

什么亲子网站可以做一下广告词命理网站开发

目录 一、概述 特点 1、统一存储 2、高扩展性 3、可靠性强 4、高性能 二、准备工作 1、关闭防火墙 2、关闭图形网络管理器 3、配置静态ip 4、关闭selinux 5、修改主机名 6、修改设置 7、ssh免密设置 8、hosts文件修改 9、时间同步 10、添加磁盘,并…

做一个企业网站需要多长时间建e室内设计网官网模型

2024.4.3 题目来源我的题解方法一 深度优先搜索方法二 广度优先遍历 题目来源 力扣每日一题;题序:1379 我的题解 方法一 深度优先搜索 同时对二叉树 original 与 cloned 进行深度优先搜索,如果 original当前搜索的节点的引用等于 target 节…

太原手手工网站建设公司会员管理系统怎么做

从大学毕业起,小编就开始收集各类数据集,经过近几年的积累和沉淀,小编收集整理了32套数据集,内容涵盖“自动驾驶”、“人脸识别”、“世界杯”、“股票数据”、“基因组数据”、“全球各大社交媒体数据”等。现在,小编…

帝国网站管理系统安装连接不上数据库外贸销售工作内容

sklearn与经典机器学习算法 机器学习的利器——sklearn机器学习的7个流程:sklearn的功能主要分为六大部分:目标: 1、掌握sklearn的基本用法 2、掌握线性回归的原理,并进行实践操作 3、理解监督学习经典算法、如K-近邻算法 4、理解非监督学习经典算法机器学习的利器——skle…

怎么建设菠菜网站自己做网站要会什么软件下载

原文地址:HbuilderX 如何使用MUMU模拟器调试--详细配 HbuilderX 如何使用MUMU模拟器调试--详细配置!_hbuilderx mumu_一只大黑洋的博客-CSDN博客

外国人做美食视频网站企业网站设计价格

6月1日,2016微软开发者峰会在京召开。 来自微软总部的高层、技术大拿, 以及来自微软亚洲研究院、微软亚太研发集团、Xamarin 总部团队、微软中国开发体验及平台合作事业部的技术专家对各平台的开发进行技术探讨,向开发者展示了一系列引人入胜…

asp 公司网站源码怎么自己做网站盗qq

目录 1.初识DataFrame 2.DataFrame的构造函数 3.数据框的轴 4.CSV文件读取 5.Excel文件读取 1.初识DataFrame (1)昨天,我们学习了Series。而Pandas的另一种数据类型:DataFrame,在许多特性上和Series有相似之处。 …

网站初期缺点广州番禺职业技术学院招生网

在Qt中编写会议室应用程序通常涉及到用户界面设计、网络通信、音频/视频处理等方面。以下是创建一个基本会议室应用程序的步骤概述: 项目设置: 使用Qt Creator创建一个新的Qt Widgets Application或Qt Quick Application项目。 用户界面设计&#xff1…

福建建设执业资格网站报名系统鄞州网站设计

在 NativeScript 中,要部署 iOS 应用程序,你需要遵循以下一般步骤: 1、确保开发环境: 确保你的开发环境中已经安装了 Xcode,并且你有一个有效的 Apple 开发者账号。 2、构建 iOS 应用: 在你的 NativeScri…

网站建设优化两千字wordpress 会员

版权声明:本文为博主原创文章,转载请注明。 博客已转到 http://blog.csdn.net/upc_xbt https://blog.csdn.net/u014124220/article/details/50829713Jlink仿真器接口仿真器端口连接目标板备注1. VCCMCU电源VCCVCC2. VCCMCU电源VCCVCC3. TRSTTRSTTest ReS…

怎么查网站死链接电子商务网站平台开发建设方案

文章目录 一、实现过程1. 导入必要的库和初始化Pygame2. 定义颜色和屏幕尺寸3. 创建交通信号灯、行人和车辆类4. 定义绘制函数draw5. 实例化交通信号灯、行人和车辆对象6. 创建并启动线程7. 游戏循环 二、代码 一、实现过程 1. 导入必要的库和初始化Pygame 导入Pygame库并初始…