FOSRestBundle 不加载路由

Posted

技术标签:

【中文标题】FOSRestBundle 不加载路由【英文标题】:FOSRestBundle doesn't load routes 【发布时间】:2014-08-24 20:19:09 【问题描述】:

我正在尝试使用 FOSRestBundle 创建一个 REST API,但由于路由,我遇到了一些错误。这就是我测试路线的方式。使用routing.yml 中的此代码,我收到此错误:

第一次测试:

routing.yml

device_id_api:
    type: rest
    path: /device/imei/getid
    resource: "Device\DeviceBundle\Controller\DeviceRestController"

错误

FileLoaderLoadException:无法导入资源 “/var/www/html/src/Device/DeviceBundle/Resources/config/routing.yml” 来自“/var/www/html/app/config/routing.yml”。 (路由 文件 “/var/www/html/src/Device/DeviceBundle/Resources/config/routing.yml” 不能同时指定“资源”键和“路径”键 “device_id_api”。在导入和路由定义之间进行选择。)

第二次测试:

`routing.yml

device_id_api:
    type: rest
    prefix: /device/imei/getid
    resource: "TaxiBooking\Device\DeviceBundle\Controller\DeviceRestController"

错误

找不到“GET /device/2147483647/getid”的路由

这些路线有什么问题?我多次清除缓存,错误仍然存​​在。有什么帮助吗?

【问题讨论】:

【参考方案1】:

前缀/device/imei/getid就是那个前缀。

您的控制器中的操作(例如)getUsersAction 将被添加到此前缀以创建类似 /device/imei/getid/users [GET] 的路径。

这一切都在docs 中解释了减去您对前缀的使用,但这只是意味着它添加到由 RoutingLoader 自动生成的路径的开头。

【讨论】:

以上是关于FOSRestBundle 不加载路由的主要内容,如果未能解决你的问题,请参考以下文章

如何轻松登录、Symfony2 Security、FOSUserBundle、FOSRestBundle?

无法使用 FOSRestBundle

无法使用 Symfony 5 安装 FOSRestBundle

FOSRestbundle、JMS Serializer 和 SonataMediaBundle 返回图像的公共 url

如何扩展 FOSRestBundle RequestBodyParamConverter?

Symfony 5 异常上的 FosRestBundle 不起作用