Spring REST - пост-комбинат JSON (несколько объектов) - PullRequest
0 голосов
/ 27 ноября 2018

У меня есть четыре таблицы:

  1. машина

    • id
    • цвет
    • производитель
    • модель
  2. сиденье

    • id
    • имя
    • id_car
  3. шина

    • id
    • имя
    • обруч
    • id_car
  4. sound_player

    • id
    • name
    • id_car

Я хотел бы знать, еслииспользуя Spring REST, можно через POST написать полный JSON, содержащий объекты различных моделей, без необходимости отправлять отдельный объект каждой модели.

Пример полного JSON будет следующим:

{
    "color": "white",
    "manufacturer": "toyota",
    "model": "corolla",
    "seat": {
        "name": "Recaro",
    },
    "tire": {
        "name": "Recaro",
        "circlet": "18",
    }, 
    "soundPlayer": {
        "name": "Sony DHC-5000",
    }
}

1 Ответ

0 голосов
/ 27 ноября 2018

Вы можете создать DTO, который будет содержать все необходимые модели со всеми параметрами

Вы можете прочитать о шаблоне dto по этой ссылке:

https://www.tutorialspoint.com/design_pattern/transfer_object_pattern.htm

InВ вашем случае вы можете создать:

@Getter
@Setter
public class CarDto{
 private String color;
 private String manufacturer;
 private String model;
 private SeatDto seat;
 private TireDto tire;
 private SoundPlayerDto soundPlayer;
}

@Getter
@Setter
public class SeatDto {
 private String name;
}

@Getter
@Setter
public class TireDto{
  private String name;
  private String circlet
}

@Getter
@Setter
public class SoundPlayerDto{
  private String name;
  private String circlet
}

И вы можете передать свой запрос, как вы описали:

@RequestBody  CarDto carDto;

Затем вы можете написать свои собственные конвертеры из dto в ваши реальные сущности и работать сих

@ Getter и @Setter аннотации lombok, о которых вы можете прочитать по следующей ссылке:

https://projectlombok.org/features/GetterSetter

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...