首页 > 解决方案 > 在 symfony 4 的 POST 调用中使用带有注释注释的 URL 重定向引用者路由

问题描述

在版本 symfony 4 中,我试图在之前使用参数完成的操作中解决重定向。我有注释路线。

问题是它是一个 POST 调用,我不知道如何在 action_name 中转换 URL $request->headers->get('referer') 或如何在调用中插入参数。

$op = 4; //This is an example of a number

$response = new RedirectResponse($request->headers->get('referer'),307,$headers=['op'=>$op]);
return $response;

或者

$op = 4; //This is an example of a number    
$response = $this->redirect($request->headers->get('referer'));
return $response;

你知道有什么办法可以解决这个问题吗?

标签: refreshsymfony4

解决方案


您可以注入router服务(的实例RouterInterface)并使用它的matchormatchRequest方法。

前任:

public function testAction(RouterInterface $router, Request $request) {
    $route = $router->matchRequest(Request::create($request->headers->get('referer')));

    return $this->redirectToRoute($route['_route'], ['op' => 4], 307);
}

推荐阅读