Laravel &引用;“讯息”:&引用;调用未定义的方法Tymon\\JWTAuth\\Exceptions\\TokenInvalideException::getStatusCode()
我用两种方法做了这件事。当我直接传递Http状态代码时,它可以工作,但当我编写$exception->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异常。在其他类型的异常中,您需要使用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);
}
}