我正在使用Symfony构建REST API。我处于一种情况下,我想在kernel.terminate
事件中执行一些操作,但是在执行此操作之前,我想确保已成功处理了请求。
为此,由于我使用REST约定,并且在发生错误时应返回适当的HTTP状态代码,因此我想检查响应HTTP状态。方法Symfony\Component\HttpFoundation\Response::isOk()
似乎比较合适,并且比HTTP状态介于200和299之间的手动检查更具可读性,但是仅当HTTP状态等于200时,它才返回true
。资源已创建,我不能为此使用它。
在Github上发布问题之前,我想知道这种方法是否有理由不为其他成功的HTTP状态返回true
?
谢谢!
答案 0 :(得分:2)
您可以使用isSuccessful()
对象中的Response
方法:
/**
* Is response successful?
*
* @return bool
*
* @final since version 3.2
*/
public function isSuccessful()
{
return $this->statusCode >= 200 && $this->statusCode < 300;
}