我目前正在按照 API 平台的 SymfonyCasts 教程进行编码。 https://symfonycasts.com/screencast/api-platform 在教程第二章中创建我的第一个实体后,API 浏览器应用程序将不会列出我的实体。因此,当在浏览器中调用 /api 路由时,我只得到“规范中没有定义操作!”,而不是所需的端点。留言。
我无权访问课程中包含的代码,因此我从头开始创建了一个 Symfony 应用程序。请参阅https://github.com/danschdev/shouts/tree/api-platform
上的代码无论我是直接在实体创建对话框中将实体标记为 API 平台资源,还是按照教程中所述手动将实体标记为 API 平台资源,结果都保持不变。可能缺少什么? 我还查看了 api_platform.yaml 文件,它对我来说看起来不错。
通常这是由于缓存造成的。尝试清除/删除缓存并重试。
./bin/console clear:cache
根据您的配置,也许您应该尝试在 api_platform.yaml 配置文件中添加行:
api_platform:
metadata_backward_compatibility_layer: false
在2.7版本中默认值为true,如果要使用新的元数据系统,需要将
metadata_backward_compatibility_layer
设置为false
在此处查看更多详细信息:升级指南