首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >流明5.5 NotFoundHttpException处理程序

流明5.5 NotFoundHttpException处理程序
EN

Stack Overflow用户
提问于 2017-11-02 02:49:02
回答 1查看 682关注 0票数 0

我在Lumen 5.5上运行了一个小应用程序,在我的错误处理程序中,当我传递一个视图作为响应的内容时,报头得到一个错误500而不是404。

我已经添加了一个样本片段,请考虑我只会返回一个或另一个响应!

文件: app/Exceptions/Handler.php

代码语言:javascript
复制
/**
 * Render an exception into an HTTP response.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  \Exception  $e
 * @return \Illuminate\Http\Response
 */
 public function render($request, Exception $e) {
    if($e instanceof NotFoundHttpException) {

        // This gives me a 404 in the browser dev console but not in the headers
        return response(view("errors.404"), 404);

        // This gives me a 404 in the headers
        return response('404 error', 404);

    }
    return parent::render($request, $e);
}

如果我在浏览器DevTools中加载这个页面,GET的状态为404,但如果我使用http检查工具在线扫描,我会得到一个错误500。

这扰乱了我的广告宣传活动,所以我不得不换成一个简单的回应。

因为它是Lumen,所以我不能使用以下在Laravel中可以工作的代码:

代码语言:javascript
复制
return response(view('error.404', [], 404));

非常提前感谢您。

EN

Stack Overflow用户

发布于 2017-11-02 15:24:46

这样如何:

代码语言:javascript
复制
use Illuminate\Http\Response;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;

if ($e instanceof NotFoundHttpException) {
    return new Response(
        view('errors.404'),
        $e->getStatusCode(),
        $e->getHeaders()
    );
}
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47061684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档