Api 平台:何时使用 DTO 以及何时使用序列化组?
Api Platform : When to use DTO and when to use serialization groups?
我需要 return 来自 api 的用户。我的用户实体有一些基本属性:
- 电子邮件
- 用户名
- 密码
但我不想 return json 响应中的密码。
目前我看到有 2 种可能性可以将其从输出中删除:
- 使用 serialization groups
- 使用DTO
我想知道正确的方法,何时使用序列化组以及何时使用 DTO(利弊)。
谢谢
如果您只想删除密码序列化组是合适的。
- 组是添加或删除属性的最简单方法
- DTO 可用于更好的控制,但我不知道任何用例。
所以基本上只需在您的 ApiPlatform 注释中添加 normalizationContext={"groups"={"user_read"}}
并为可读属性指定 @Groups({"user_read"})
。
我需要 return 来自 api 的用户。我的用户实体有一些基本属性:
- 电子邮件
- 用户名
- 密码
但我不想 return json 响应中的密码。
目前我看到有 2 种可能性可以将其从输出中删除:
- 使用 serialization groups
- 使用DTO
我想知道正确的方法,何时使用序列化组以及何时使用 DTO(利弊)。
谢谢
如果您只想删除密码序列化组是合适的。
- 组是添加或删除属性的最简单方法
- DTO 可用于更好的控制,但我不知道任何用例。
所以基本上只需在您的 ApiPlatform 注释中添加 normalizationContext={"groups"={"user_read"}}
并为可读属性指定 @Groups({"user_read"})
。