对 uuid 有要求的 Symfony 控制器路由

Ale*_*eri 2 php symfony

我有一个这样的实体:

class Building
{
    /**
     * @var int
     *
     * @ORM\Column(name="id")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="UUID")
     * @Expose()
     */
    private $id;

    ....
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否有办法在 uuid 上指定要求以在 rest API 上分隔两个不同的 url:

class BuildingController extends BaseController
{   
    /**
     *
     * @Rest\Get("/buildings/{id}", requirements={"id" = "\d+"})
     */
    public function getBuildingAction($id)
    {
        //code
    }
Run Code Online (Sandbox Code Playgroud)

\d+ 对于整数值是正确的,但我想将它更改为 uuid 类型,因为我有另一条路线,例如:

 /**
 * @Rest\Get("/buildings/lot")
 */
public function getBuildingLotAction(Request $request)
{
    //code
}
Run Code Online (Sandbox Code Playgroud)

是否可以在需求类型上定义 uuid?

谢谢

svg*_*fov 5

我相信您可以简单地将“/buildings/lot”动作放在/buildings/{id} 之前。

第一条路线总是赢。

我能找到的最好的 -这篇文章给出了正则表达式的例子,所以我猜 PHP 正则表达式应该可以正常工作。

提到了 Symfony expression language,尽管没有注释示例。