Symfony 3将GET参数转发给另一个控制器

时间:2018-10-09 00:41:11

标签: php symfony symfony-3.4

我有运行JSON API的Symfony 3.4。 API的所有响应均以JSON格式设置,因此,我无法在API控制器上使用内置的Symfony调试器。我想要一个动作,该动作从API控制器收集JSON响应,然后将其呈现在HTML内,这样我就可以访问请求的调试器。我想做这样的事情,但似乎无法正确转发GET参数。

我尝试了this question的答案,但没有任何运气。

我想像这样向我的控制器发送发送请求: http://localhost/admin/my_api_route_name?access_token=abc123

public function apiAction(Request $request, $path) {
    $params = $request->query->all();
    $fpath = $this->routeToControllerName($path);
    $response = $this->forward($fpath, [], $params);
    return $this->render('TestBundle:Default:index.html.twig', ["content" => $response->getContent()]);
}

private function routeToControllerName($routename) {
    $routes = $this->get('router')->getRouteCollection();
    return $routes->get($routename)->getDefaults()['_controller'];
}

0 个答案:

没有答案