我有用户实体,其中包含以下属性:id,email,password ...
密码属性是一个密码哈希,我想从项目和集合操作中将其从GET结果中删除。
这有注释吗? (我试过 @ApiProperty(可读=假),但没有成功)
我想我可以通过事件订阅者从结果中删除密码,但我很好奇是否有任何简单的方法来实现它。
答案 0 :(得分:2)
使用实体中的群组
/**
* @ApiResource(attributes={
* "normalization_context"={"groups"={"read"}},
* "denormalization_context"={"groups"={"write"}}
* })
*/
class User {
/**
* @Groups("write")
* @ORM\Column(..........)
*/
private $password;
Doc:https://api-platform.com/docs/core/serialization#using-serialization-groups
答案 1 :(得分:-1)
查看JMSSerializer,它允许您选择在序列化对象https://jmsyst.com/libs/serializer时返回的内容,它确实很好并且可以满足您的需求。