保存分类时如何设置父分类?

How can I set the parent category when I save the category?

我正在使用 spring 和休眠开发 restful 应用程序。

我正在post这个JSON

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

据此,我无法在我的控制器 post 方法中获取父 ID。当我使用 theCategory.getParent() 时,它 returns null.

这是我的控制器 post 方法。

@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;

}

保存类别时设置父类别的最佳方法是什么?这是我的类别 class - https://github.com/iyngaran/test/blob/master/Category.java

您的 getParent() 上有 @JsonIgnore。这就是您在对象上得到 null 的原因。

(当您删除 @JsonIgnore 时,您将收到绑定错误)。 因此,我建议你 post 一个 DTO 对象,而不是实体。 在这个 dto 对象中,您可以将父对象映射到整数,而在 Category class 中,您可以将其映射到 Parent.

RequestBody必须是一个DTO,在addCategory方法中需要通过Id查找父Category(实体)

通过查看您的 class ,您的 json 应该是这样的

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