@DateTimeFormat注解位于spring-context-5.0.10.RELEASE.jar包中
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;public class User {//姓名private String name;//出生日期@DateTimeFormat(pattern = "yyyy-MM-dd")private Date birthday;public String getName() {return name;}public void setName(String name) {this.name = name;}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}@Overridepublic String toString() {return "User{" +"name='" + name + '\'' +", birthday=" + birthday +'}';}
}
package com.example.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;@Controller
@RequestMapping("/demo")
public class DempoController {@PostMapping("/testDateTimeFormat")@ResponseBodypublic void testDateTimeFormat(@RequestBody(required=true) User user){System.out.println(user.toString());}
}
请求报文:
输出结果:
User{name='姓名', birthday=Tue Jan 01 08:00:00 CST 2019}
从输出结果来看,@DateTimeFormat注解会自动将请求报文中的字符串转换为指定格式的Date类型的数据,但是对于birthday字段会默认添加赋上08:00:00,实际上这部分并不是我想要的,因此还是觉得该注解在SpringBoot中使用还是不够友好,不建议使用该注解