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

Php Api平台:何时使用DTO和何时使用序列化组?,php,symfony4,api-platform.com,Php,Symfony4,Api Platform.com,我需要从api返回一个用户。我的用户实体有一些基本属性: 电子邮件 用户名 密码 但我不想在json响应中返回密码 目前,我认为有两种可能将其从输出中删除: 使用 使用 我想知道正确的方法,何时使用序列化组,何时使用DTO(利弊) 如果您只想删除密码,请多谢。序列化组是合适的 组是添加或删除属性的最简单方法 DTO可以用于更好的控制,但我不知道任何用例 因此,基本上只需在ApiPlatform注释中添加normalizationContext={“groups”={“user\u r

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

  • 电子邮件
  • 用户名
  • 密码
但我不想在json响应中返回密码

目前,我认为有两种可能将其从输出中删除:

  • 使用
  • 使用
我想知道正确的方法,何时使用序列化组,何时使用DTO(利弊)


如果您只想删除密码,请多谢。序列化组是合适的

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

因此,基本上只需在ApiPlatform注释中添加
normalizationContext={“groups”={“user\u read”}
,并为可读属性指定
@groups({“user\u read”})

DTO的一个用例可以是一个报告,它的输出与它所涉及的实体不同,请参见我的第9章。另一个例子是,如果有一篇文章主要是做一些输出与输入不同的事情。