梦见你的名字 发表于 2024-8-13 23:17:17

@DateTimeFormat 和 @JsonFormat 注解详解

@DateTimeFormat 是 Spring 框架中的一个注解,用于在请求参数绑定时处理日期和时间格式。它常用于控制器方法参数中,以确保传入的日期和时间格式能被精确解析和转换。其紧张使用场景是在处理 @RequestParam 或 @PathVariable 如许的请求参数时有用。
1、用途:
@DateTimeFormat 用于格式化日期和时间,确保请求参数能够按照指定的格式被解析。
只对 @RequestParam 和 @PathVariable 范例的参数有用,而对 @RequestBody 无效。对 @RequestBody 的日期格式化需要用到 @JsonFormat。
支持的格式:
可以指定日期和时间的格式,例如 "yyyy-MM-dd"、"yyyy-MM-dd HH:mm:ss" 等。
2、示例代码
后端代码(Spring Boot Controller)
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.time.LocalDate;
import java.time.LocalDateTime;

@RestController
public class DateController {

    @GetMapping("/date")
    public String getDate(
            @RequestParam("date")
            @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate date,
            @RequestParam("dateTime")
            @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime dateTime) {
      return "Date: " + date + ", DateTime: " + dateTime;
    }
}
API 测试代码(使用 Apipost)
假设你启动了上述 Spring Boot 应用,下面是如安在 Apipost 中测试这个接口:
GET 请求 URL:
http://localhost:8080/date?date=2024-08-13&dateTime=2024-08-13%2015:45:30
响应:
Date: 2024-08-13, DateTime: 2024-08-13T15:45:30

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: @DateTimeFormat 和 @JsonFormat 注解详解