返回带有超薄框架的http 500 [英] Return http 500 with Slim framework

查看:16
本文介绍了返回带有超薄框架的http 500的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我的API出了问题,我想返回一个http 500请求。

$app = new Slim();
$app->halt(500);
它仍然返回http 200。

如果我运行此代码:

    $status = $app->response()->status(); 
    echo $status; //Here it is 200
$status = $app->response()->status(500);
    echo $status; //Here it is 500

它仍然给我一个http 200

推荐答案

如果有人仍然在这里遇到这个问题,那就是我最终做了什么:

设置错误处理程序


    $app->error(function (Exception $exc) use ($app) {
       // custom exception codes used for HTTP status
       if ($exc->getCode() !== 0) {
          $app->response->setStatus($exc->getCode());
       }

       $app->response->headers->set('Content-Type', 'application/json');
       echo json_encode(["error" => $exc->getMessage()]);
    });

然后,无论何时需要返回特定的HTTP状态,都会抛出包含状态代码的异常:


    throw new Exception("My custom exception with status code of my choice", 401);

(在Slim论坛上找到的)

这篇关于返回带有超薄框架的http 500的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆