Php Symfony2中的REST服务,参数中有一个点(FOSRestBundle)

Php Symfony2中的REST服务,参数中有一个点(FOSRestBundle),php,rest,symfony,format,fosrestbundle,Php,Rest,Symfony,Format,Fosrestbundle,我在Symfony2中使用FOSRestBundle 在全球范围内,这是可行的,但。。 我有一条这样的路线 /api/mymethod/{param} 使用隐式{u格式} 当我的爱人里面没有点的时候 .../mymethod/toto.json 它起作用了。 但如果它有一个点,我就明白了 错误-未捕获PHP异常Symfony\Component\HttpKernel\Exception\NotFoundHttpException:“在C:\outils\wamp64\www\spapiDev

我在
Symfony2
中使用
FOSRestBundle
在全球范围内,这是可行的,但。。 我有一条这样的路线

/api/mymethod/{param}
使用隐式
{u格式}
当我的爱人里面没有点的时候

.../mymethod/toto.json
它起作用了。 但如果它有一个点,我就明白了

错误-未捕获PHP异常Symfony\Component\HttpKernel\Exception\NotFoundHttpException:“在C:\outils\wamp64\www\spapiDev\app\cache\dev\classes.PHP第2100行未找到“GET/api/mymethod/toto.com.json”的路由。”


我错在哪里?有解决方法吗?

首先,应避免在路线参数中使用点。试着用子弹代替

但是,为了实现您想要的,您可以向
param
添加正则表达式,如下所示:

# ..
requirements:
    param: .+
您可以查看更多详细信息