SpringBoot接收LocalDateTime參數(shù)的方式
一、通過@RequestBody接收
方式1:實體類上加上 @JsonFormat,并通過 pattern 屬性指定時間格式
public class Time {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
LocalDateTime localDateTime;
@JsonFormat(pattern = "yyyy-MM-dd")
LocalDate localDate;
@JsonFormat(pattern = "HH:mm:ss")
LocalTime localTime;
}方式二:配置Jackson時間序列化,創(chuàng)建如下配置類即可
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
@Configuration
public class JacksonConfig {
@Bean
public ObjectMapper objectMapper() {
JavaTimeModule javaTimeModule = new JavaTimeModule();
// 時間序列化
javaTimeModule.addSerializer(LocalDateTime.class,new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
javaTimeModule.addSerializer(LocalDate.class,new LocalDateSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
javaTimeModule.addSerializer(LocalTime.class,new LocalTimeSerializer(DateTimeFormatter.ofPattern("HH:mm:ss")));
// 時間反序列化
javaTimeModule.addDeserializer(LocalDateTime.class,new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
javaTimeModule.addDeserializer(LocalDate.class,new LocalDateDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
javaTimeModule.addDeserializer(LocalTime.class,new LocalTimeDeserializer(DateTimeFormatter.ofPattern("HH:mm:ss")));
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.registerModule(javaTimeModule);
return objectMapper;
}
}二、通過@RequestParam接收
方式1:在參數(shù)前面加上 @DateTimeFormat 注解,通過 pattern 屬性指定時間格式
@GetMapping("/param/local")
public void testLocalDateTime(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime localDateTime,
@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate localDate,
@RequestParam @DateTimeFormat(pattern = "HH:mm:ss") LocalTime localTime) {
}方式2:配置時間格式轉(zhuǎn)換器,創(chuàng)建如下配置類即可
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.convert.converter.Converter;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
/**
* 日期格式轉(zhuǎn)換器配置
*/
@Configuration
public class DateConverterConfig {
/**
* LocalDateTime格式轉(zhuǎn)換器
*/
@Bean
public Converter<String, LocalDateTime> localDateTimeConverter() {
return new Converter<String, LocalDateTime>() {
@Override
public LocalDateTime convert(String timeStr) {
return LocalDateTime.parse(timeStr,DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
};
}
/**
* LocalDate格式轉(zhuǎn)換器
*/
@Bean
public Converter<String, LocalDate> localDateConverter() {
return new Converter<String, LocalDate>() {
@Override
public LocalDate convert(String timeStr) {
return LocalDate.parse(timeStr,DateTimeFormatter.ofPattern("yyyy-MM-dd"));
}
};
}
/**
* LocalTime格式轉(zhuǎn)換器
*/
@Bean
public Converter<String, LocalTime> localTimeConverter() {
return new Converter<String, LocalTime>() {
@Override
public LocalTime convert(String timeStr) {
return LocalTime.parse(timeStr,DateTimeFormatter.ofPattern("HH:mm:ss"));
}
};
}
}到此這篇關(guān)于SpringBoot接收LocalDateTime參數(shù)的文章就介紹到這了,更多相關(guān)SpringBoot LocalDateTime參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Eclipse中導(dǎo)入Maven Web項目并配置其在Tomcat中運行圖文詳解
這篇文章主要介紹了Eclipse中導(dǎo)入Maven Web項目并配置其在Tomcat中運行圖文詳解,需要的朋友可以參考下2017-12-12
通過Spring Boot整合Mybatis分析自動配置詳解
這篇文章主要給大家介紹了關(guān)于如何通過Spring Boot整合Mybatis分析自動配置的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Spring Boot具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
通過Java實現(xiàn)設(shè)置Word文檔頁邊距的方法詳解
頁邊距是指頁面的邊線到文字的距離。通??稍陧撨吘鄡?nèi)部的可打印區(qū)域中插入文字和圖形等。今天這篇文章將為您展示如何通過編程方式,設(shè)置Word?文檔頁邊距,感興趣的可以了解一下2023-02-02
MapStruct內(nèi)部錯誤:NullPointerException的解決方案
在Java開發(fā)中,MapStruct是一個非常流行的對象映射工具,它通過注解處理器在編譯時生成映射代碼,極大地簡化了對象之間的轉(zhuǎn)換操作,本文將詳細(xì)分析一個常見的MapStruct內(nèi)部錯誤——NullPointerException,并提供一系列解決方案,需要的朋友可以參考下2025-02-02

