如何关闭twig中html响应的呈现?
我正在构建一个RESTful API,并希望完全禁用HTML呈现。例如,如果我请求/ foo / bar没有oAuth访问令牌,symfony2应该使用401 json消息而不是401 html模板进行响应。
问候
答案 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。