日期型参数传递 [SpringMVC]

日期型参数传递


之前我们学习的传递的参数类型都是统一的格式, 但是这里我们要说的日期型参数格式就不是统一的了, 甚至各大语言中都支持我们去指定日期型参数的格式, 各个系统上的日期型参数格式也是有差异的

  • 2020-01-01
  • 2020/08/18
  • 08/18/2088

那么针对这种格式有差异的参数, 前后端完全是有可能格式不相同, 这样前端的数据传递到后端之后转换肯定是会失败, 那么我们要如何解决这一问题?

—> 其实解决也很简单, 我们只需要使用一个@DateTimeFormat注解即可

  • 但是注意: @DateTimeFormat注解指定格式并不是用value属性, 而是使用pattern属性

我们SpringMVC接收的日期标准格式为2020/01/01这种, 如果前端传递到后端的数据是这种格式就可以直接封装到对应的控制器方法形参中(这里我们就使用不是这种标准格式的格式举例:)

后端控制器:

在这里插入图片描述

postman发送请求到后端:

在这里插入图片描述

可以看到我们发送了一个2020-01-01格式的字符串, 到了后端就会顺利的转换为对应的date

其实还有一种情况, 如果我们要将数据封装到某个实体类中, 这个时候有一个属性是日期类型, 要怎么办?
  • 可能前端发送过来表单数据或者是Json数据, 那么后端要封装到实体类中, 这个时候有一项数据是日期类型, 那么我们如何做?
  • —> 其实还是和上面一样, 不过这一次我们的@DateTimeFormat注解不是添加到控制器形参前面, 而是添加到对应的实体类的对应属性上了

eg:

在这里插入图片描述

补充: 前端传递过来的字符串转换为日期时间类型的时候其实是使用到了Converter接口实现类来完成的

  • 注意: Converter接口和HttpMessageConverter接口是两码事, 两个的功能是不同的
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值