dqqs64238 2017-07-17 07:57
浏览 60
已采纳

符合uuid要求的Symfony控制器路由

I have an entity like this:

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

    ....
}

I would like to know if there is a way to specify the requirements on uuid to separate two different url like this on rest API:

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

\d+ is correct for integer value but I would like to change It to uuid type because I have another route for example this:

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

Is possible to define uuid on requirements type?

Thanks

  • 写回答

1条回答 默认 最新

  • dsgoj7457 2017-07-17 08:29
    关注

    I believe you can simply put "/buildings/lot" action before /buildings/{id}.

    First route always win.

    Best I could find - this article gives example of regexp, so I guess PHP regexps should work fine.

    There is also mention of Symfony expression language, though without example for annotations.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵