config.yml:
fos_rest:
param_fetcher_listener: true
body_listener: true
format_listener:
default_priorities: [json, xml]
view:
view_response_listener: 'force'
sensio_framework_extra:
view: { annotations: false }
router: { annotations: true }
annotated controller:
/**
* @Rest\View(statusCode=204)
* @param \Symfony\Component\HttpFoundation\Request $request
*/
public function signUpAction(Request $request)
{
return $this->get('%%%.response_generator')->generateResponse(array('test'), true, 'test');
// returns a simple Object with some public properties
}
如果我以.json
格式访问路线,则返回:
{"status":1,"message":"test","data":["test"]}
但它不会将状态代码更改为注释中的状态代码。
如果没有指定的格式,它也不会回退到默认的.json
格式,它仍会搜索模板。
答案 0 :(得分:2)
试试这个:
use FOS\RestBundle\View\View;
然后在行动中:
$view = View::create($response, 204);
return $view;