Memformat Java 8 LocalDateTime dalam JSON melalui Spring Boot
Mengekalkan format yang konsisten dan intuitif untuk data temporal semasa bersiri dan penyahsirilan adalah penting dalam moden pembangunan aplikasi. Walau bagaimanapun, memformat objek Java 8 LocalDateTime dalam aplikasi Spring Boot selalunya boleh menimbulkan cabaran.
Masalah:
Apabila cuba memformat objek LocalDateTime dalam aplikasi Spring Boot, pengguna mungkin menghadapi keluaran bertele-tele yang serupa dengan yang berikut:
"startDate" : { "year" : 2010, "month" : "JANUARY", "dayOfMonth" : 1, "dayOfWeek" : "FRIDAY", "dayOfYear" : 1, "monthValue" : 1, "hour" : 2, "minute" : 2, "second" : 0, "nano" : 0, "chronology" : { "id" : "ISO", "calendarType" : "iso8601" } }
Diingini Hasil:
Matlamatnya adalah untuk memformat objek LocalDateTime ke dalam format yang lebih ringkas dan boleh dibaca, seperti:
"startDate": "2015-01-01"
Penyelesaian:
Untuk mencapai pemformatan yang diingini, pengguna mesti terlebih dahulu menambah kebergantungan berikut pada mereka projek:
compile("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.4.0")
Kebergantungan ini memperkenalkan penukar yang secara automatik mengendalikan transformasi objek LocalDateTime. Selain itu, konfigurasi berikut mesti ditambahkan pada fail application.properties:
spring.jackson.serialization.write_dates_as_timestamps=false
Dengan menetapkan sifat ini kepada palsu, Spring akan menggunakan penukar yang sesuai untuk memformat tarikh sebagai rentetan dan bukannya cap waktu. Jika pemformatan khusus dikehendaki, anotasi seperti @JsonFormat dan @DateTimeFormat boleh digunakan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memformat Objek Java 8 LocalDateTime Secara Ringkas dalam JSON dengan Spring Boot?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!