您可以像这样更改路由参数:
acme_apiByDate_homepage:
pattern: /api/byDate/{page}/{limit}/{date}
defaults: { _controller: AcmeTopBundle:Api:byDate, page:0, limit:50, date: null, _format: xml }
并添加您的控制器:
byDateAction($page, $limit, $date = null)
{
}
如果路由和控制器的 null 不起作用,请尝试空字符串。
更新:
您还可以为相同的操作定义更多路线,例如:
api_data_by_date:
pattern: /api/byDate/{date}/{page}/{limit}
defaults: { _controller: AcmeTopBundle:Api:getData, page:0, limit:50, date: null, _format: xml }
api_data_by_page:
pattern: /api/byPage/{page}/{date}/{limit}
defaults: { _controller: AcmeTopBundle:Api:getData, page:0, limit:50, date: null, _format: xml }
api_data_by_limit:
pattern: /api/byLimit/{limit}/{page}/{date}
defaults: { _controller: AcmeTopBundle:Api:getData, page:0, limit:50, date: null, _format: xml }
或者,您可以对参数添加一些要求,例如:
api_data_by_date:
pattern: /api/getData/{date}/{limit}/{page}
defaults: { _controller: AcmeTopBundle:Api:getData, page:0, limit:50, date: 2013-04-12, _format: xml }
requirements:
date: [0-9]{4}\-[0-9]{2}\-[0-9]{2}
page: \d+
limit: \d+
或者试试:
api_data_by_date:
pattern: /api-d-{date}-l-{limit}-p-{page}
defaults: { _controller: AcmeTopBundle:Api:getData, page:0, limit:50, date: 2013-04-12, _format: xml }
requirements:
date: [0-9]{4}\-[0-9]{2}\-[0-9]{2}
page: \d+
limit: \d+