【问题标题】:Laravel 8.x returns status code 200 instead of 404 when throwing NotFoundHttpExceptionLaravel 8.x 在抛出 NotFoundHttpException 时返回状态码 200 而不是 404
【发布时间】:2020-10-09 10:12:10
【问题描述】:

从 7.x 升级到 Laravel 8.9 后,Laravel 在请求不存在的模型时返回错误的状态码。响应体本身包含预期的错误响应,但是状态码是 200。下面是相应的控制器代码:

public function findOne($eventId)
{
    $event = Event::withMailRecords()->withContacts()->withContingents()->findOrFail($eventId);

    return new EventResource($event);
}

我只在使用php artisan serve 启动服务器时得到错误的状态码,然后执行我们的前端测试来查询服务器。在我们的 Laravel HTTP 测试中,一切正常。此外,该问题仅出现在我们的 bitbucket ci 管道中。本地一切正常,即使在我们的管道映像中执行测试时也是如此。

我看不到任何可能导致这种行为的环境差异。

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    也许这不是您的问题的根源,但您确定任何“

    【讨论】:

    • 原因是 .php 文件中的第一行为空。但是,我仍然不明白,这仅影响了我们的管道测试。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2016-02-10
    • 1970-01-01
    • 2018-06-28
    • 2017-10-26
    • 1970-01-01
    • 2019-03-23
    • 2021-04-04
    • 2021-01-08
    相关资源
    最近更新 更多