Date konkretny format REST

0

Witam,

BACK-END = Java 1.8 + Spring
Front-End = Angular 4 + TypeScript

Pisząc aplikację natrafiłem na problem. Mianowicie chciałbym wysłać date z angulara na serwer drogą restową. Gdy przesyłam z serwera do frontu jest ok. Natomaist na odwrót już nie. Potrzebję po stronie anglara wysłać date w konkretnym formacie.

Po stronie serwera mam taką klasę:


@JsonFormat(pattern = "dd-MM-yyyy")
private LocalDate date;

@JsonFormat(pattern = "HH:mm:ss.SSS")
private LocalTime time;

Po stronie Angulara taki interfejs:


export interface DateDto {
    date?: Date; // tutaj potrzebuję tylko -> dd-MM-yyy
    time?: Date; // tutaj potrzebuję tylko -> HH:mm:ss.SSS
}

Jak robię new Date() to nie działa. Na razie wpadłem na pomysł aby wykorzystać do tego konkatenacje i posklejać tak jak ma być. Ale to wiąże się z dodatkowymi klasami. A na pewno jest sposób aby wysłać na serwer LocalDate i LocalTime z poziomu JavaScript. Z góry dzięki za pomoc.

1

Musisz to sobie sparsować. Albo ręcznie albo użyj np momentjs.

0

Rozwiązałem to tworząc konstruktor, który przyjmuje dwa stringi odpowiednio date i czas. A poźniej po stronie javy sobie to przerabiam.


    @JsonFormat(pattern = "dd-MM-yyyy")
    private LocalDate date;

    @JsonFormat(pattern = "HH:mm:ss.SSS")
    private LocalTime time;

    public DateDto(String date, String time){
        setDate(date);
        setTime(time);
    }

    private void setDate(String date) {
        this.date = LocalDate.parse(date, DateTimeFormatter.ofPattern("dd-MM-yyyy"));
    }

    private void setTime(String time) {
        this.time = LocalTime.parse(time, DateTimeFormatter.ofPattern("HH:mm:ss.SSS"));
    }

1 użytkowników online, w tym zalogowanych: 0, gości: 1