Ignorowanie pól JSON podczas wysyłania obiektu (deserializacja)

0

Mam obiekt DTO

public class Rate {
    private final Integer rate;
    private final String user;
    private final Date date;
}

i dwa kontrolery
https://zapodaj.net/2f60536ba4326.png.html - pobieranie oceny
https://zapodaj.net/71e52684343df.png.html - dodawanie oceny

Podczas dodawania oceny nie chcę dodawać użytkownika, ani daty, bo to jest uzupełniane automatycznie w serwisie. Jak zignorować te pola, aby w ogóle nie były pokazywane i aby użytkownik nie mógł te pola uzupełnić podczas wysyłania oceny, a żeby były widoczne tylko podczas wyświetlenia GET.

0

Do dodawania zrób osobny DTO z tylko używanymi polami.

0

Właśnie tak wygląda obecnie mój kod, że mam RateRequest i RateResponse. Zastanawiam się teraz który sposób wybrać, bo np. jeszcze na SO zasugerowano https://stackoverflow.com/questions/50532345/ignoring-json-fields-when-sending-an-object-deserialization/50533209#50533209.

1

Po to jest DTO, aby jawnie wskazać jakie dane przesyłamy. Minimalizuje to przesyłanie "śmieci przez sieci" oraz ukrywa nieistotne dla danego klienta/przypadku użycia szczegóły implementacyjne.

Reszta kombinacji to prostu chorzy ludzie. (I tak. większość DTO jakie widzę, które są 1 do 1 kopią tabelki z bazy danych, to chorzy ludzie).

0

@jarekr000000: czyli wg. Ciebie najlepiej zostawić podział na RateRequest i RateResponse?

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