我在做symfony 5项目。
我使用ramsey/uuid。
我的教义yaml
dbal:
types:
uuid: Ramsey\Uuid\Doctrine\UuidType
我的控制器中的路线
/**
* @Route(
* "/job/{id}",
* name="job_show",
* methods={"GET"}
* )
*/
我想添加一些要求来验证“id”参数是否是uuid。
我尝试了几个正则表达式,但没有一个工作:
Regex尝试:
requirements={"id"="/^[a-f0-9]{8}\-[a-f0-9]{4}\-4[a-f0-9]{3}\-[a-f0-9]{4}\-[a-f0-9]{12}$/"}
requirements={"id"="/^[a-f0-9\-]{36}$/"}
每当我遇到这个错误:
Not routine found for“GET /job/dc5a945c-25a1-4760-bd69-970d94560cce”
我看过几个类似的问题,如Searching for UUIDs in text with regex,但没有一个帮助我。
有谁知道我的错误可能来自哪里,或者如何做不同的事情?
1条答案
按热度按时间jm81lzqq1#
您可以用途:
或者,从Symfony 6.1开始,您可以使用预定义的路由要求:
查看Symfony博客上的功能介绍。