API 平台 - 在与资源相同的实体上使用“组”

时间:2021-03-19 16:41:54

标签: api-platform.com denormalization

我使用的是 API 平台 2.6。我遇到了一个我不明白的案例。

举个例子:

/**
* @ApiResource()
**/
class Book {
   private string $title;
   private Book $book;
}

对于 POST/PATCH 方法,我们在“需要请求正文”中设置

{
   "title": "string",
   "book": "string"
}

但是,如果我写

/**
* @ApiResource(denormalizationContext={"groups"={"book:write"}})
**/
class Book {
   /**
   * @Groups("book:write")
   **/
   private string $title;
   /**
   * @Groups("book:write")
   **/
   private Book $book;
}

因此,对于 POST/PATCH 方法,我们在“需要请求正文”中设置

{
   "title": "string",
}

书不见了。 非规范化在与资源相同的子实体上使用时不起作用...

你能解释一下为什么吗?以及如何解决这个问题?

谢谢

================================================ === 编辑:

谢谢@rugolinifr 的回答。

确实链接让我找到了解决方案。

有兴趣的可以在文档中找到 ==> https://api-platform.com/docs/core/serialization/#force-iri-with-relations-of-the-same-type-parentchilds-relations

0 个答案:

没有答案
相关问题