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

网站的验证码怎么做哪里有建设

网站的验证码怎么做,哪里有建设,域名批量注册查询,wordpress主题错误客户端传日期格式字段#xff08;string#xff09;,服务端接口使用java.util.Date类型接收报错问题 问题演示第1种#xff1a;客户端以URL拼接的方式传值第2种#xff1a;客户端以body中的form-data方式提交第3种 客户端以Body中的json方式提交 问题解决#xff08;全局解… 客户端传日期格式字段string,服务端接口使用java.util.Date类型接收报错问题 问题演示第1种客户端以URL拼接的方式传值第2种客户端以body中的form-data方式提交第3种 客户端以Body中的json方式提交 问题解决全局解决方式针对 第1和第2种情况解决办法验证 针对第3中情况解决办法验证 问题演示 演示代码 服务端接口代码 PostMapping(/binder)ResponseBodypublic String binderTest(TestEntity te) {return te.getBirthDay().toString() ;}以上接口中的实体TestEntity import java.util.Date;import org.springframework.format.annotation.DateTimeFormat;import com.fasterxml.jackson.annotation.JsonFormat;import lombok.Data;Data public class TestEntity {private String name;private String addr;private Date birthDay; }TestEntity中的字段birthDay为Date类型 客户端演示使用PostMan 第1种客户端以URL拼接的方式传值 后台报错 Field error in object testEntity on field birthDay: rejected value [2024-02-09 22:22:33]; codes [typeMismatch.testEntity.birthDay,typeMismatch.birthDay,typeMismatch.java.util.Date,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [testEntity.birthDay,birthDay]; arguments []; default message [birthDay]]; default message [Failed to convert property value of type java.lang.String to required type java.util.Date for property birthDay; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [java.util.Date] for value 2024-02-09 22:22:33; nested exception is java.lang.IllegalArgumentException]]第2种客户端以body中的form-data方式提交 后台报错 Field error in object testEntity on field birthDay: rejected value [2024-02-07]; codes [typeMismatch.testEntity.birthDay,typeMismatch.birthDay,typeMismatch.java.util.Date,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [testEntity.birthDay,birthDay]; arguments []; default message [birthDay]]; default message [Failed to convert property value of type java.lang.String to required type java.util.Date for property birthDay; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [java.util.Date] for value 2024-02-07; nested exception is java.lang.IllegalArgumentException]]第3种 客户端以Body中的json方式提交 这里需要先在接口中添加注解RequestBody,接口变成如下: PostMapping(/binder)ResponseBodypublic String binderTest(RequestBody TestEntity te) {return te.getBirthDay().toString() ;}以上日期格式是 yyyy-MM-dd 2024-06-08,可以成功! 但是将格式变成yyyy-MM-dd HH:mm:ss,就不行了见如下 后台报错 JSON parse error: Cannot deserialize value of type java.util.Date from String 2024-06-08 22:11:33: not a valid representation (error: Failed to parse Date value 2024-06-08 22:11:33: Cannot parse date 2024-06-08 22:11:33: while it seems to fit format yyyy-MM-ddTHH:mm:ss.SSSX, parsing fails (leniency? null)); nested exception is com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type java.util.Date from String 2024-06-08 22:11:33: not a valid representation (error: Failed to parse Date value 2024-06-08 22:11:33: Cannot parse date 2024-06-08 22:11:33: while it seems to fit format yyyy-MM- ddTHH:mm:ss.SSSX, parsing fails (leniency? null))at [Source: (PushbackInputStream); line: 2, column: 16] (through reference chain: 问题解决全局解决方式 针对 第1和第2种情况 解决办法 新增日期转换类并将其纳入到spring的bean管理中: import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date;import org.springframework.core.convert.converter.Converter;/*** 日期格式转换类* * 仅针对当客户端是以下两种方式日期格式值的转换* * 1.url地址拼接的方式形如localhost:8031/binder?birthDay2024-02-09 22:22:33。* * 2.body方式中的form-data方式* * 注意与DateJacksonConverter类区别。* * author Administrator*/ public class MyDateConverter implements ConverterString, Date {// TODO 2024年4月12日16:01:01// 完善—日期格式有多种这里只列举了一种根据传入的String格式日期分别初始化SimpleDateFormat还有如下格式需要处理//private static String[] pattern new String[] { yyyy-MM-dd, yyyy-MM-dd HH:mm, yyyy-MM-dd HH:mm:ss,// yyyy-MM-dd HH:mm:ss.S, yyyy.MM.dd, yyyy.MM.dd HH:mm, yyyy.MM.dd HH:mm:ss, yyyy.MM.dd HH:mm:ss.S,// yyyy/MM/dd, yyyy/MM/dd HH:mm, yyyy/MM/dd HH:mm:ss, yyyy/MM/dd HH:mm:ss.S };SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);Overridepublic Date convert(String s) {Date date null;try {date sdf.parse(s);} catch (ParseException e) {throw new RuntimeException(e);}return date;} }import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;import com.fasterxml.jackson.databind.ObjectMapper;/*** 配置数据绑定* * author Administrator**/ Configuration public class MyConfigurableWebBindingInitializer {/*** 仅针对当客户端是以下两种方式日期格式值的转换* 1.url地址拼接的方式形如localhost:8031/binder?birthDay2024-02-09 22:22:33。* 2.body方式中的form-data方式* * return*/Beanpublic MyDateConverter myDateConverter() {return new MyDateConverter();} } 验证 均成功 针对第3中情况 解决办法 同样新增日期转换类并将其纳入到spring的bean管理中: import java.io.IOException; import java.text.ParseException; import java.util.Date;import org.apache.commons.lang.StringUtils; import org.apache.commons.lang3.time.DateUtils;import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonDeserializer;/*** 日期格式转化类* * 针对客户端传值方式为 body中的json方式* * 注意与MyDateConverter类区别。* * author Administrator* * https://www.jianshu.com/p/c97a20fc9a35**/ public class DateJacksonConverter extends JsonDeserializerDate {private static String[] pattern new String[] { yyyy-MM-dd, yyyy-MM-dd HH:mm, yyyy-MM-dd HH:mm:ss,yyyy-MM-dd HH:mm:ss.S, yyyy.MM.dd, yyyy.MM.dd HH:mm, yyyy.MM.dd HH:mm:ss, yyyy.MM.dd HH:mm:ss.S,yyyy/MM/dd, yyyy/MM/dd HH:mm, yyyy/MM/dd HH:mm:ss, yyyy/MM/dd HH:mm:ss.S };Overridepublic Date deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException {Date targetDate null;String originDate p.getText();if (StringUtils.isNotEmpty(originDate)) {try {long longDate Long.valueOf(originDate.trim());targetDate new Date(longDate);} catch (NumberFormatException e) {try {targetDate DateUtils.parseDate(originDate, DateJacksonConverter.pattern);} catch (ParseException pe) {throw new IOException(String.format(%s can not convert to type java.util.Date,just support timestamp(type of long) and following date format(%s),originDate, StringUtils.join(pattern, ,)));}}}return targetDate;}Overridepublic Class? handledType() {return Date.class;} } import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;import com.fasterxml.jackson.databind.ObjectMapper;/*** 配置数据绑定* * author Administrator**/ Configuration public class MyConfigurableWebBindingInitializer {/*** 仅针对当客户端是以下两种方式日期格式值的转换* 1.url地址拼接的方式形如localhost:8031/binder?birthDay2024-02-09 22:22:33。* 2.body方式中的form-data方式* * return*/Beanpublic MyDateConverter myDateConverter() {return new MyDateConverter();}// 针对客户端传值方式为 body中的json方式对日期格式进行转换开始Beanpublic DateJacksonConverter dateJacksonConverter() {return new DateJacksonConverter();}Beanpublic Jackson2ObjectMapperFactoryBean jackson2ObjectMapperFactoryBean(Autowired DateJacksonConverter dateJacksonConverter) {Jackson2ObjectMapperFactoryBean jackson2ObjectMapperFactoryBean new Jackson2ObjectMapperFactoryBean();jackson2ObjectMapperFactoryBean.setDeserializers(dateJacksonConverter);return jackson2ObjectMapperFactoryBean;}Beanpublic MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter(Autowired ObjectMapper objectMapper) {MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter new MappingJackson2HttpMessageConverter();mappingJackson2HttpMessageConverter.setObjectMapper(objectMapper);return mappingJackson2HttpMessageConverter;}// 针对客户端传值方式为 body中的json方式结束} 验证 需给接口加上RequestBody注解略。 成功
http://www.eeditor.cn/news/120501/

相关文章:

  • vs2015 做网站山东天成水利建设 网站
  • 外面网站怎么做有没有像一起做网店做男装的网站
  • 英文网站建设哪家好万网网站备案管理
  • jsp做的网站运行都需要什么百度热议排名软件
  • 个人信息网站模板网站制作网免费
  • 软件wap网站PPT做的好的有哪些网站
  • 创建网站需要学什么知识新媒体营销的优势
  • 用vs2010做网站登入cn域名多少钱一年
  • 徐州企业网站制作eyoucms教程
  • 华为公司网站建设方案模板wordpress 5.0.3修改注册页
  • 网站备案换接入商wordpress媒体库下载
  • 荆州市城市建设投资开发有限公司网站深圳整站
  • 网站推广途径和推广要点的案例讨论工业设计软件有哪些软件
  • 网站屏蔽ip地址移动网站开发技术
  • 网站免费正能量下载商业网站设计与制作
  • 中国风 古典 红色 网站源代码免费职业技能培训网站
  • 网站建设公司的政策风险网页制作工具分为
  • 网站开发设计书查看网站服务器信息
  • 有没有专门做衣服搭配的网站网站结构模板
  • 电商网站建设模型图医疗网站前置审批
  • 设计类专业介绍seo搜索排名优化公司
  • 网站都有哪些一般网站要多大空间
  • 中国电力建设股份有限公司官方网站海外网络推广招聘
  • 一个网站要注意哪些问题wordpress ftp 插件
  • 如何建设旅游网站浙江省建设工程造价协会网站
  • 公司网站的搭建方案做网站需要准备的工具
  • 做ppt找图片在哪个网站app设计流程
  • 广州网站设计专注乐云seo哈尔滨网站建设方案维护
  • access如何与网站连接数据库网站定制公司排行榜
  • 做好的网站模板怎么修改wordpress快讯