通过$ _POST请求(而非URL)使用ParamConverter

Seb*_*300 5 php annotations symfony symfony-routing

tu是否可以在Symfony2中使用@ParamConverter批注将通过$ _POST请求发送的参数转换为Entity?

symfony2文档中给出的所有示例都将从路由中定义的参数转换实体。

设置类似的东西:

/**
 * @Route("/")
 * @ParamConverter("user", class="BvStandardServiceBundle:User", options={"id" = "userId"})
 */
public function userAction(User $user)
{
}
Run Code Online (Sandbox Code Playgroud)

如果我使用userId$ _POST参数中的ID调用此路由,则会导致:

无法猜测如何从请求信息中获取Doctrine实例。

dar*_*men 5

不幸的是,symfony的paramConverter仅将请求参数运行到URL中:ParamConverter规范

框架直接与URL参数一起使用,以搜索参数url和paramConverter之间的关联。如果您不在URL中使用参数,则引擎symfony不会搜索与paramConverter的关联。

您也可以为此查看需要工作的kernel.event:Class:ParamConverterListener.php