如何使用 FOSRestBundle 显式设置 http 状态代码

How to set http status code explicitly with FOSRestBundle

我正在使用 FOSTRestBundle,我想设置状态代码,而不是像文档中显示的那样使用注释静态设置:

/**
 * @View(statusCode=204)
 */
public function deleteUserAction()
{
    // ...
}

但是动态地进行……我的意思是根据我的逻辑,我可能会发送 200 或 301……因为我使用捆绑包的方式(一种方法用于多种类型的操作……),不尊重REST的原则,但我暂时喜欢这样。

您可以 return 直接设置状态代码的视图,而不是将其留给响应侦听器来处理......

use FOS\RestBundle\View\View;

public function deleteUserAction()
{
    // ... do stuff and generate status code

    return View::create(null, $statusCode);
}