【问题标题】:symfony The controller must return a response FOS Rest APIsymfony 控制器必须返回响应 FOS Rest API
【发布时间】:2016-01-04 19:44:14
【问题描述】:

我正在尝试像在 FOSRestBundleByExample/blob 中那样执行操作。

我的行动:

    public function putManagerToMpkAction()
{
    $view = View::create();
    $view->setStatusCode(404)->setData("Error Message");
    return $view;
}

但我有并且回应:

控制器必须返回一个响应(Object(FOS\RestBundle\View\View) given)。

我发现我可以在我的配置中将 view_response_listener 更改为 true,但是我有:

找不到模板“”。

有什么想法吗?

谢谢 卡米尔

【问题讨论】:

  • 您的控制器是否扩展了 FOSRestController?
  • 是的,FOS\RestBundle\Controller\FOSRestController

标签: symfony fosrestbundle


【解决方案1】:

我想你想做:

return $this->handleView($view);

来源:http://symfony.com/doc/current/bundles/FOSRestBundle/2-the-view-layer.html

【讨论】:

  • 之后 Symfony 样式正在寻找命名为方法的模板。我的方法名为 postManagerAction symfony 正在寻找名为“postManager.twig.html”的方法。 > 找不到模板“”。我可以禁用它并返回 $this->handleView() 吗?
  • 好吧,你需要有一个模板,因为你要发送一个响应。应用程序无法猜测您希望如何呈现数据...因此您必须创建一个模板。
  • 但如果我不想显示任何内容?如果一切正常,我只想返回状态 200,或者 json 数据。
  • 好吧,不要设置任何数据然后view()->setStatusCode(200)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-02-04
  • 1970-01-01
  • 1970-01-01
  • 2016-01-30
  • 2014-01-08
  • 1970-01-01
相关资源
最近更新 更多