Springboot傳輸數(shù)據時日期格式化問題
更新時間:2023年09月18日 15:55:08 作者:執(zhí)久呀
這篇文章主要介紹了Springboot傳輸數(shù)據時日期格式化問題,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
使用swagger測試數(shù)據時
第一種在實體類屬性值上加入
這種方式簡單,但是只能為單純這個類,每個類上要使用都必須加
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime;
第二種,擴展消息轉換器
@Configuration @Slf4j public class WebMvcConfiguration extends WebMvcConfigurationSupport { /** * 擴展springMvc框架的消息轉換器 * @param converters */ @Override protected void extendMessageConverters(List<HttpMessageConverter<?>> converters) { log.info("消息轉換器。。"); //創(chuàng)建一個消息轉換器對象 MappingJackson2HttpMessageConverter converter=new MappingJackson2HttpMessageConverter(); //需要為小氣轉換器設置一個對象轉換器,對象轉換器可以將java對象序列化為json數(shù)據 converter.setObjectMapper(new JacksonObjectMapper()); //將自己的消息轉化器加入容器中,讓索引值為0(排在最前) converters.add(0,converter); } }
JacksonObjectMapper類如下
/** * 對象映射器:基于jackson將Java對象轉為json,或者將json轉為Java對象 * 將JSON解析為Java對象的過程稱為 [從JSON反序列化Java對象] * 從Java對象生成JSON的過程稱為 [序列化Java對象到JSON] */ public class JacksonObjectMapper extends ObjectMapper { public static final String DEFAULT_DATE_FORMAT = "yyyy-MM-dd"; //public static final String DEFAULT_DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss"; public static final String DEFAULT_DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm"; public static final String DEFAULT_TIME_FORMAT = "HH:mm:ss"; public JacksonObjectMapper() { super(); //收到未知屬性時不報異常 this.configure(FAIL_ON_UNKNOWN_PROPERTIES, false); //反序列化時,屬性不存在的兼容處理 this.getDeserializationConfig().withoutFeatures(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); SimpleModule simpleModule = new SimpleModule() .addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_TIME_FORMAT))) .addDeserializer(LocalDate.class, new LocalDateDeserializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_FORMAT))) .addDeserializer(LocalTime.class, new LocalTimeDeserializer(DateTimeFormatter.ofPattern(DEFAULT_TIME_FORMAT))) .addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_TIME_FORMAT))) .addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_FORMAT))) .addSerializer(LocalTime.class, new LocalTimeSerializer(DateTimeFormatter.ofPattern(DEFAULT_TIME_FORMAT))); //注冊功能模塊 例如,可以添加自定義序列化器和反序列化器 this.registerModule(simpleModule); } }
到此這篇關于Springboot傳輸數(shù)據時日期格式化的文章就介紹到這了,更多相關Springboot傳輸數(shù)據日期格式化內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringBoot使用DevTools實現(xiàn)后端熱部署的過程詳解
在Spring Boot項目中,Spring Boot官方提供你了Devtools熱部署模塊,通過maven的方式導入就能使用,本文主要SpringBoot通過DevTools實現(xiàn)熱部署,感興趣的朋友一起看看吧2023-11-11springboot mybatis調用多個數(shù)據源引發(fā)的錯誤問題
這篇文章主要介紹了springboot mybatis調用多個數(shù)據源引發(fā)的錯誤問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01