api-platform.com - Symfony 5.1 开发系统中的 Api 平台 "No operations defined in spec!"

标签 api-platform.com symfony5

我在现有项目中使用 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/

相关文章:

php - 如何通过 API 平台使用“paramconverter”?

php - preload.php 文件在哪里,它是如何生成的?

php - 使用 Symfony 5.3 检查 JWT (Firebase) token

php - 具有 OneToMany 关系的 Symfony 5.3 空集合

php - Symfony/api-平台 PATCH NotEncodableValueException : "Syntax error"

filter - 带有 uuid 的 API 平台过滤器

Symfony (5.1) Doctrine 事件监听器被触发,但实体监听器未被触发

symfony - 类 "1\HomeController"不存在

symfony - 如何使用与任何特定实体无关的参数编写自定义端点

php - 使用Api-Platform,如何在创建时自动将授权用户添加为资源所有者?