2

我有路线:/user/username/{username}.{_format} 并且username可以有任何符号。例如,以下所有内容都是有效的:

  • user
  • user.name
  • user.name@example.com
  • user@example.com
  • user.name jr
  • user'o name

等等...

每个部分都username可以有任何字符...

也是_format可选字符串,例如jsonxml...

我如何在我的路由规则中描述它?

现在我有这个:

MyBundle_getUserByUsername:
    pattern: /user/username/{username}
    defaults: { _controller: MyBundle:User:getUserByUsername, _format: json }
    requirements:
        _method: GET
        username: ".+"

但它没有那么有用。我无法指定format参数...

我需要你们的帮助,伙计们...

4

2 回答 2

1
MyBundle_getUserByUsername:
    pattern: /user/username/{username}.{_format}
    defaults: { _controller: MyBundle:User:getUserByUsername, _format:json}
    requirements:
        _method: GET
        username: ".+(?<=.)"
于 2012-11-06T16:13:00.117 回答
0

使用惰性量词

MyBundle_getUserByUsername:
    pattern: /user/username/{username}.{_format}
    defaults: { _controller: MyBundle:User:getUserByUsername, _format: json }
    requirements:
        username: ".+?"
        _method: GET
        _format: html|json
于 2012-11-06T16:55:52.050 回答