我正在尝试使用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”
的路线
那条路线有什么问题?我多次清除缓存,错误仍然存在。有什么帮助吗?
答案 0 :(得分:2)
前缀/device/{imei}/getid
就是前缀。
然后,您的控制器中的操作(例如getUsersAction
)将添加到此前缀中,以创建/device/{imei}/getid/users [GET]
之类的路径。
所有这些都在docs中解释了减去你对前缀的使用,但这只是意味着它被添加到RoutingLoader自动生成的路径的开头。