Laravel响应给出了不正确的代码200而不是401

时间:2019-06-27 18:21:40

标签: php laravel laravel-5

我在尝试使Laravel(5.8)返回401 HTTP状态代码时遇到问题。

路由(api.php)

route::get('test','testController@test');

控制器

public function test(){

   return response("error",401)->header('Content-Type','text/plain');

   // Also not working.
   // header("Content-Type: test/plain", 401);
   // print "error";
   // exit();
}

我得到的结果是200,而不是所需的401。我还用header()测试了普通的PHP方式,并用exit()终止了执行,但是没有运气。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

您是否尝试过跳过控制器功能并在路由文件中返回响应?

这已修改from the Laravel HTTP Responses docs

Route::get('test', function () {
    return response('Hello World', 401)
                  ->header('Content-Type', 'text/plain');
});

答案 1 :(得分:-1)

无需使用标题。直接使用response()和代码。

public function test(){ return response("error",401);}

希望我会为您工作。祝您愉快!