Symfony2 Twig禁用HTML渲染

时间:2014-02-24 13:39:24

标签: html json rest symfony twig

如何关闭twig中html响应的呈现?

我正在构建一个RESTful API,并希望完全禁用HTML呈现。例如,如果我请求/ foo / bar没有oAuth访问令牌,symfony2应该使用401 json消息而不是401 html模板进行响应。

问候

2 个答案:

答案 0 :(得分:1)

只是不要调用渲染方法:return $this->render('FooBarBundle:Default:index.html.twig');

而不是这个,你可以在你的控制器中调用:

return new JsonResponse(array(
    'message' => 'Your message here'
), 401);

答案 1 :(得分:0)

1-使用fosrestbundle。 2-在config.yml文件中,在配置包中输入“defaults:{_ format:json}”。 3-在您的控制器中,只需抛出新的UnauthorizedHttpException('可选自定义消息')。 它应该完成这项工作。

如果您不想使用此捆绑包: 在routing.yml中使用_format:json。