Api 平台关系

时间:2021-05-17 13:10:43

标签: symfony api-platform.com

我有一种情况,我需要关系字段中的相关字段。

我有 3 个实体:

  1. 媒体对象(需要 imageUrl)
  2. 作者(图片)
  3. 评论(作者)

所以当我调用 /api/comment/1 时,我想从作者那里看到 imageUrl

我尝试添加 @Groups({"author_object:read", "author"}) 在媒体实体上,也在作者的形象上,但没有运气...... 有什么提示吗?

1 个答案:

答案 0 :(得分:0)

  1. 在注释的@ApiResource 中添加一个组“comment_object:read 到 normalizationContext 或要显示 imageUrl 的操作的 'normalization_context',
  2. 在 Comment::$author 属性中添加一个注解@Groups({"comment_object:read"}) 或者如果你已经有一个,添加组名
  3. 向 Author::$image 添加相同的组注释,或者如果您已经有注释,请将组名添加到其中
  4. 向 MediaObject::imageUrl 添加相同的组注释,或者如果您已有注释,则向其中添加组名

只要在上述所有注释中使用相同的名称,就可以为组使用不同的名称

The chapter4-api branch of my tutorial 描述了类似的 Employee 和 hours 注册,一个工作示例在 Chapter5-api 中。