首页 > 解决方案 > 使用 FrameworkExtraBundle 在 Symfony 3.4 应用程序中获取实体时验证 URL 参数

问题描述

有没有办法可以验证传递给我的路由的 URL 参数?

如果我尝试使用/resume-session/crmpicco1872/kdsjfslk/rfc/three例如 Symfony 访问此路由,则会抛出 HTTP 500,因为我给它的所有者 ID 为“crmpicco1872”。

有没有一种方法可以让我更优雅地在此操作上失败,即重定向到其他地方,或者假设传入的参数是干净且经过验证的?

/**
 * @Route(
 *      "/resume-session/{ownerId}/{courseId}/{position}/{stage}",
 *      name = "resume_session",
 * )
 * @Entity("person", expr="repository.find(ownerId)")
 * @Entity("course", expr="repository.find(courseId)")
 *
 * @param Request $request
 * @param Person $person
 * @param Course $course
 *
 * @return Response
 */
public function resumeSessionAction(Request $request, Person $person, Course $course): Response

标签: phpsymfonyroutingphp-7symfony-3.4

解决方案


推荐阅读