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