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?
无法使用 Symfony 5 安装 FOSRestBundle
FOSRestbundle、JMS Serializer 和 SonataMediaBundle 返回图像的公共 url