@DateTimeFormat 和 @JsonFormat区别

@DateTimeFormat@JsonFormat 中的 pattern 属性都用于指定日期转换的格式,但是 @DateTimeFormat 注解用于将请求参数转化成对应的日期类型对象,适用于前端请求参数到后台Java方法的调用。可以应用于 Spring MVC 框架中的控制器方法上的参数或者类属性上,用于将前端发送的字符串类型的日期参数转换为对应的日期类型对象。
第一种:控制器方法上的参数上使用 @DateTimeFormat当 Spring MVC 读取请求参数时,会自动将请求参数转化成指定的日期类型,然后注入控制器方法对应的参数中。
第二种: 类属性上使用 @DateTimeFormat 注解,则表示对应的类属性值在基于表单提交的数据绑定时需要进行日期类型转换,也就是当 Spring MVC 使用表单的方式将参数绑定到对应的类对象时,会自动将字符串日期转换为对应的日期类型对象。

@JsonFormat 注解是 Jackson 框架提供的用于将 Java 对象转化成 JSON 字符串的注解,适用于后台向前端响应 JSON 数据时使用。在使用该注解的情况下,将 Java 对象转化为 JSON 字符串时,应该按照注解中提供的日期格式进行转换。
总的来说,它们的使用场景不同:
- @DateTimeFormat 适用于前端请求参数到后台Java方法的调用时使用,将请求参数转化为对应的日期类型对象。
- @JsonFormat 适用于后台向前端响应 JSON 数据时使用,将 Java 对象转化为 JSON 字符串时按照注解中提供的日期格式进行转换,以实现日期类型的序列化和反序列化。

你可能感兴趣的:(servlet,开发语言,java)