我有这个功能:
public function validatePayload()
{
if ($this->isPast($this->getValue())) {
echo 0;
throw new TokenExpiredException('Token has expired', 401);
}
}
但是我收到一条错误消息,而不是json响应。 这是我的TokenExpiredException:
public function __construct($message, $code)
{
parent::__construct($message, $code);
}
答案 0 :(得分:1)
您可以在项目的$ ip1=12.12.12.12
$ ip2=14.14.14.14
$ sed -r -e "/WEB_URL\s=/s#[0-9]{1,3}[.][0-9]{1,3}[.][0-9]{1,3}[.][0-9]{1,3}#$ip1#" \
-e "/API_URL\s=/s#[0-9]{1,3}[.][0-9]{1,3}[.][0-9]{1,3}[.][0-9]{1,3}#$ip2#" \
environment.ts
const OTH_URL = 'http://10.10.10.10';
const WEB_URL = 'http://12.12.12.12';
const API_URL = 'http://14.14.14.14:8080';
const API_URL (can either be 'http://10.10.10.10' or 'http://10.10.10.10:8080')
中执行此操作,并覆盖app/Exceptions/Handler.php
方法:
render()
在上面的代码中,我们使用public function render($request, Exception $exception)
{
if ($exception instanceof TokenExpiredException && $request->wantsJson()) {
return response()->json([
'message' => 'Token has expired'
], 401);
}
return parent::render($request, $exception);
}
来使用客户端发送的Accept标头,并确定它是否需要JSON响应。