Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel &引用;“讯息”:&引用;调用未定义的方法Tymon\\JWTAuth\\Exceptions\\TokenInvalideException::getStatusCode()_Laravel_Exception Handling_Http Status Codes - Fatal编程技术网

Laravel &引用;“讯息”:&引用;调用未定义的方法Tymon\\JWTAuth\\Exceptions\\TokenInvalideException::getStatusCode()

Laravel &引用;“讯息”:&引用;调用未定义的方法Tymon\\JWTAuth\\Exceptions\\TokenInvalideException::getStatusCode(),laravel,exception-handling,http-status-codes,Laravel,Exception Handling,Http Status Codes,我用两种方法做了这件事。当我直接传递Http状态代码时,它可以工作,但当我编写$exception->getStatusCode()时,我得到了错误。我不知道这里出了什么问题。 第二种方法很好,但是 我想要的是,它会自动生成状态代码,而不是特定的状态代码。状态代码将仅适用于http异常。在其他类型的异常中,您需要使用getCode() 原因是您很可能正在使用v1.0.*并且在这个版本中,异常扩展了JWTException,JWTException扩展了异常。它们没有实现getStatusCo

我用两种方法做了这件事。当我直接传递Http状态代码时,它可以工作,但当我编写$exception->getStatusCode()时,我得到了错误。我不知道这里出了什么问题。

第二种方法很好,但是
我想要的是,它会自动生成状态代码,而不是特定的状态代码。

状态代码将仅适用于
http异常。在其他类型的异常中,您需要使用
getCode()


原因是您很可能正在使用v1.0.*并且在这个版本中,异常扩展了JWTException,JWTException扩展了异常。它们没有实现
getStatusCode()
,因此您不能使用它们。
Tymon指出,没有针对异常实现HTTP特定行为的计划

您是否尝试过使用
$exception->getStatusCode()
仅打印状态代码?顺便说一句,您将仅使用HttpException获得状态代码。当我使用getCode()时。。我收到“消息”:“HTTP状态码\“0\”无效。”,错误。是,因为状态码是由服务器发出的,以响应客户端向服务器发出的请求。因此,只能在http异常上使用
getStatusCode()
public function render($request, Exception $exception)
 {
   if ($exception instanceof \HttpException) {
     $statusCode = $exception->getStatusCode();
     return response()->json('status_code'=>$statusCode);
   }
 }