API Platform 2.7未返回实体属性,是否误解官方文档?
API Platform 2.7字段返回问题解答
这不是你误解了官方文档,API Platform 2.7的默认行为就是如此。
框架默认不会自动序列化返回实体的所有属性,必须显式指定哪些字段可以被返回——这是为了避免意外泄露敏感数据。之前你用@ApiResource的序列化上下文+@Groups注解,本质是在告诉框架“这些字段允许被序列化返回”,移除之后,框架就只返回Hydra规范要求的默认元数据字段@id和@type。
解决办法有两种:
- 给每个需要返回的实体字段添加
@ApiProperty(visibility = true)注解,直接开启该字段的可见性,无需分组配置。 - 回到分组方式:在
@ApiResource中配置defaults={"normalization_context"={"groups"={"plant:read"}}},然后给目标字段加上@Groups({"plant:read"})注解,这种方式更适合多场景(比如不同接口返回不同字段集合)的复杂API开发。
内容的提问来源于stack exchange,提问作者Aruku
相关产品推荐
相关产品推荐

