我想在 Api-Platform 中使用 YAML 而不是注释。
我没有使用 Api-Platform 发行版,而是将 api-pack 添加到了现有的 Symfony Flex 项目中(composer req api
).
文档说 YAML 文件应该位于/config/api_platform/resources.yaml
但我的实体没有被发现。
我应该在其他地方配置一些东西吗?
谢谢你,
本
您唯一需要做的就是添加以下配置:
api_platform:
mapping:
paths: ['%kernel.project_dir%/config/api_platform/resources']
我使用一个名为resources
里面将配置拆分为许多文件。下面是一个配置示例:
文章.yaml
# /config/api_platform/resources/article.yaml
App\Domain\Article:
attributes:
normalization_context:
groups: ['article_read']
collectionOperations: []
itemOperations:
get:
method: 'GET'
put:
method: 'PUT'
user.yaml(配置中有更多内容)
# This file is inside /config/api_platform/resources/user.yaml
App\Domain\User:
attributes:
normalization_context:
groups: ['user_read']
denormalization_context:
api_allow_update: true
groups: ['user_write', 'user_avatar_write']
filters:
- 'App\Application\ApiPlatform\Filters\DeletedFilter'
collectionOperations:
get:
method: 'GET'
access_control: is_granted('VIEW', object)
normalization_context: {'groups': ['user_read_collection']}
post:
method: 'POST'
access_control: is_granted('CREATE', object)
normalization_context:
groups: ['user_post']
itemOperations:
get:
method: 'GET'
access_control: is_granted('VIEW', object)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)