FOSRestBundle不加载路由

时间:2014-07-03 15:50:56

标签: symfony routing routes fosrestbundle

我正在尝试使用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”   不得同时指定“resource”键和“path”键   “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 个答案:

答案 0 :(得分:2)

前缀/device/{imei}/getid就是前缀。

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

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