Parsování času z requestu pomocí Jackson v Kotlinu

Pokud vytváříte restovou službu a používáte Spring Boot s Kolinem, je pravděpodobné, že časem budete potřebovat parsovat čas z requestů. Nejdříve je třeba přidat závislost:

implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.9.7")

Ukázky anotací a requestů

data class Request(
        @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
        val localDate: LocalDate,

        @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss.SSSSSSx")
        val odt1: OffsetDateTime,

        @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss.SSSSSSZ")
        val odt2: OffsetDateTime,

        @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ssZ")
        val odt3: OffsetDateTime
)

Json request poslaný na endpoint

{
    "localDate": "2020-04-15",

    "odt1": "2017-09-17 13:45:42.710576+02",

    "odt2": "2020-07-01 00:00:00.123456+0200",

    "odt3": "2020-07-03 09:06:17+0200"
}

Zdroj: stackoverflow.com/…/jackson-parse-custom-offset-date-time

Napsat komentář