对于介于 200 和 299 之间的 HTTP 状态,响应::isOk() 不应该返回 true?



我正在使用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;
}

相关内容

最新更新