6

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を与える

4

4 に答える 4

6

正解です。こちら$app->response()->status(500);ドキュメントをご覧ください。

ステータスを設定した後、呼び出していることを確認してください。$app->run();これにより、応答コード、ヘッダー、および本文が準備されて出力されます。

編集、ルートを定義していることを確認してください。そうしないと、Slimが404応答を出力します。これは機能します。

require 'Slim/Slim.php';
\Slim\Slim::registerAutoloader();

$app = new \Slim\Slim();

$app->response()->status(500);

$app->get('/', function () {
    // index route
});

$app->run();
于 2012-11-12T15:30:54.507 に答える
2

$app->run() の後にヘッダーをプッシュする必要がある場合は、常にヘッダー php 関数を利用できます。

header('HTTP/1.1 401 Anonymous not allowed');
于 2013-04-23T14:31:56.280 に答える
0

スリム フレームワーク v2 wiki ステータス

require 'Slim/Slim.php';

\Slim\Slim::registerAutoloader();

$app = new \Slim\Slim();

$app->get('/', function () use ($app) {
  $app->response()->setStatus(500);
  $app->response()->setBody("responseText");  
  return $app->response();
});

$app->run();

また

$app->get('/', function () use ($app) {
  $app->halt(500, "responseText");
});
于 2016-11-14T22:48:33.427 に答える