Api平台:何时使用DTO和何时使用序列化组?

时间:2019-07-01 07:47:06

标签: php symfony4 api-platform.com

我需要从api返回用户。我的用户实体具有一些基本属性:

  • 电子邮件
  • 用户名
  • 密码

但是我不想在json响应中返回密码。

目前,我看到两种从输出中删除它的可能性:

我想知道正确的方法,何时使用序列化组以及何时使用DTO(优缺点)。

谢谢

1 个答案:

答案 0 :(得分:1)

如果只想删除密码序列化组,则是合适的。

  • 组是添加或删除属性的最简单方法
  • DTO可以用于更好的控制,但我不知道任何用例。

因此,基本上,只需在ApiPlatform批注中添加normalizationContext={"groups"={"user_read"}}并为可读属性指定@Groups({"user_read"})