Как установить родительскую категорию при сохранении категории? - PullRequest
1 голос
/ 14 мая 2019

Я разрабатываю успокаивающее приложение, используя spring и hibernate.

Я отправляю этот JSON

  {
     "name": "Test Category",
     "parent": 2
   }

Из-за этого я не могу получить идентификатор родителя в методе отправки сообщения моего контроллера,Когда я использую Category.getParent (), он возвращает null.

Вот мой метод публикации контроллера.

@PostMapping("/categories")
public Category addCategory(@RequestBody Category theCategory) {


    System.out.println("The parent category : " + theCategory.getParent());

    // set id to 0
    theCategory.setId(0);
    categoryService.saveCategory(theCategory);

    return theCategory;

}

Каков наилучший способ установить родительскую категорию, когда я сохраняю категорию?Вот мой класс категории - https://github.com/iyngaran/test/blob/master/Category.java

Ответы [ 3 ]

0 голосов
/ 14 мая 2019

RequestBody должен быть DTO, в методе addCategory необходимо получить родительскую категорию (сущность), выполнив поиск по ее идентификатору.

0 голосов
/ 14 мая 2019

Смотря на ваш класс, ваш JSON должен быть как

{
   "name": "Test Category",
   "parent": {
          "id": 2,
    }
}
0 голосов
/ 14 мая 2019

У вас есть @JsonIgnore на вашем getParent(). Вот почему вы получаете нулевое значение для вашего объекта.

(При удалении @JsonIgnore вы получите ошибку привязки). Поэтому я предлагаю вам разместить объект DTO, а не объект. В этом объекте dto вы можете отобразить родителя в целое число, в то время как в классе Category вы можете сопоставить его с Parent.

...