我在现有项目中使用 Symfony 5.1.8 并安装了 Api Platform 版本 2.5.7:
composer req api
我向我的一个实体类添加了 @ApiResource() 注释。
当调用/api/路由时,总是有一条消息说“规范中没有定义操作!”。 该问题仅发生在我的开发系统上(php 4.7.11、macOS Catalina 10.15.6、xdebug...)。所以我不认为这是配置问题...
当我将其部署到我的测试系统(带有 docker 容器的 debian)时,一切都按预期工作 - 显示了 6 个我可以与之交互的资源。
我尝试更新我的 Composer 依赖项,多次清除缓存,清除缓存文件夹...这些都没有帮助。
打电话时
bin/console debug:router
在我的测试系统上,我获得了全部 6 个资源。在我的开发系统中没有显示路线。
您有什么想法从哪里开始调试以更好地理解问题吗?
还有哪些更有趣的细节?
编辑: 当将环境更改为“测试”时,它可以在开发系统中运行。但我还是不明白,为什么......
问候
斯蒂芬
最佳答案
我找到了答案。 我使用 Redis 进行系统缓存,因此删除缓存文件夹(./var/cache)没有帮助。
普通的缓存:清除也没有帮助:
bin/console cache:clear
但是清除系统缓存的缓存就可以解决问题:
bin/console cache:pool:clear cache.system_clearer
关于api-platform.com - Symfony 5.1 开发系统中的 Api 平台 "No operations defined in spec!",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64752558/