@DateTimeFormat 和 @JsonFormat 注解详解

打印 上一主题 下一主题

主题 765|帖子 765|积分 2295

@DateTimeFormat 是 Spring 框架中的一个注解,用于在请求参数绑定时处理日期和时间格式。它常用于控制器方法参数中,以确保传入的日期和时间格式能被精确解析和转换。其紧张使用场景是在处理 @RequestParam 或 @PathVariable 如许的请求参数时有用。
1、用途:
@DateTimeFormat 用于格式化日期和时间,确保请求参数能够按照指定的格式被解析。
只对 @RequestParam 和 @PathVariable 范例的参数有用,而对 @RequestBody 无效。对 @RequestBody 的日期格式化需要用到 @JsonFormat。
支持的格式:
可以指定日期和时间的格式,例如 "yyyy-MM-dd"、"yyyy-MM-dd HH:mm:ss" 等。
2、示例代码
后端代码(Spring Boot Controller)
  1. import org.springframework.format.annotation.DateTimeFormat;
  2. import org.springframework.web.bind.annotation.GetMapping;
  3. import org.springframework.web.bind.annotation.RequestParam;
  4. import org.springframework.web.bind.annotation.RestController;
  5. import java.time.LocalDate;
  6. import java.time.LocalDateTime;
  7. @RestController
  8. public class DateController {
  9.     @GetMapping("/date")
  10.     public String getDate(
  11.             @RequestParam("date")
  12.             @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate date,
  13.             @RequestParam("dateTime")
  14.             @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime dateTime) {
  15.         return "Date: " + date + ", DateTime: " + dateTime;
  16.     }
  17. }
复制代码
API 测试代码(使用 Apipost)
假设你启动了上述 Spring Boot 应用,下面是如安在 Apipost 中测试这个接口:
GET 请求 URL:
  1. http://localhost:8080/date?date=2024-08-13&dateTime=2024-08-13%2015:45:30
复制代码
响应:
  1. Date: 2024-08-13, DateTime: 2024-08-13T15:45:30
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

梦见你的名字

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表