我有一个带有多个参数的路由,当它为空时,我想定义默认值。
我在SO上没有找到类似的东西...
我的路由(yml):
我的路由(yml):
app_product_show_range_tag:
path: 'list-range{range_id}-tag{tag_id}-{name_slug}/{page}'
methods: 'GET'
defaults:
_controller: 'AppBundle:Product:showRangeTag'
page: 1
tag_id: 2
range_id: null
requirements:
name_slug: '([a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*)'
tag_id: '\d+'
range_id: '\d+'
page: '\d+'
我的控制器(开始):
/**
* Show a range
* @ParamConverter("productRange", options={
"mapping": {"range_id": "productRangeId", "locale": "locale"},
"repository_method": "findOneById",
"map_method_signature" = true
})
* @ParamConverter("productTag", options={
"mapping": {"tag_id": "productTagId", "locale": "locale"},
"repository_method": "findOneById",
"map_method_signature" = true
})
*/
public function showRangeTagAction(ProductRange $productRange = null, ProductTag $productTag = null, string $name_slug, int $page)
{ [...]
我不明白问题出在哪里... 我定义了所有的默认值,控制器也是。
我在这个网址上做了一个快速演示: https://streamable.com/1paw
如果需要更多信息,请随时询问!
public function showRangeTagAction(ProductRange $productRange, ProductTag $productTag, string $name_slug, int $page)
- Sinelc