我想知道是否可以在 FOSRestBundle 方法中定义路由,这些方法指定格式,而不是前面的“点”。
例如,假设我希望以下工作:
http://somesite.com/api/user/20 (renders in the default/fallback format)
http://somesite.com/api/user/20/json (renders in JSON)
http://somesite.com/api/user/20/xml (renders in XML)
如果我尝试定义如下路线:
/**
* @Get("/user/{id}/{_format}
*/
public function getUserAction($id)
{
// do stuff
}
我明白了:
Route pattern "/api/users/{maximum}/{_format}.{_format}" cannot reference variable name "_format" more than once.
这让我意识到它——而且,我假设我们默认谈论的是 FOSRestBundle 而不是 Symfony2——它会自动将“.{_format}”添加到我定义的任何路由的末尾。我很惊讶!
所以现在,在我之前的例子中,它的工作原理如下:
http://somesite.com/api/user/20 (renders in the default/fallback format)
http://somesite.com/api/user/20.json (renders in JSON)
http://somesite.com/api/user/20.xml (renders in XML)
可以肯定的是,有一点不同,但是,我正在尝试移植使用此语法的旧版应用程序。我正在尝试做的事情可能吗?如果是这样,我怎样才能禁用自动添加“。{_format}”到每条路线?
谢谢!