springboot LocalDateTime 序列化、反序列化全局配置
程序员文章站
2022-04-16 15:41:25
springbootLocalDateTime序列化、反序列化全局配置LocalDateTime按照自定义的格式进行序列化、反序列化***********************示例**************pojo层Order@Datapublic class Order { private String orderId; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss"......
springboot LocalDateTime 序列化、反序列化全局配置
LocalDateTime按照自定义的格式进行序列化、反序列化
***********************
示例
**************
pojo 层
Order
@Data
public class Order {
private String orderId;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime orderTime;
private Double price;
private Integer amount;
}
**************
config 层
WebConfig
@Configuration
public class WebConfig {
@Bean
public ObjectMapper initObjectMapper(){
ObjectMapper objectMapper=new ObjectMapper();
JavaTimeModule javaTimeModule=new JavaTimeModule();
javaTimeModule.addDeserializer(LocalDateTime.class,new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
javaTimeModule.addSerializer(LocalDateTime.class,new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
//localDateTime按照 "yyyy-MM-dd HH:mm:ss"的格式进行序列化、反序列化
objectMapper.registerModule(javaTimeModule);
return objectMapper;
}
}
**************
controller 层
HelloController
@RestController
public class HelloController {
@RequestMapping("/hello")
public LocalDateTime hello(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime localDateTime){
System.out.println("hello ==> "+localDateTime);
return localDateTime;
}
@RequestMapping("/hello2")
public Order hello2(Order order){
System.out.println("hello2 ==> "+order);
return order;
}
@RequestMapping("/hello3")
public Order hello3(@RequestBody Order order){
System.out.println("hello3 ==> "+order);
return order;
}
}
***********************
使用测试
localhost:8080/hello?localDateTime=2020-08-06 09:08:06
设置全局配置输出:2020-08-09 08:06:09
不设置全局配置输出:2020-08-09T08:06:09
localhost:8080/hello2?orderId=1&orderTime=2020-08-06 08:06:09&price=2&amount=8
设置全局配置输出
不设置全局配置输出
localhost:8080/hello3,
header:Content-Type application/json
body:
{
"orderId": "2",
"orderTime": "2020-08-09 08:06:09",
"price": "2",
"amount": "8"
}
设置全局配置输出
不设置全局配置,无法反序列化,可在LocalDateTime加注解@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
本文地址:https://blog.csdn.net/weixin_43931625/article/details/107395262