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.

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

报告相同问题?