我正在用laravel开发一个api,但是在处理错误消息时遇到了一些麻烦。
例如,如果用户使用诸如Content-Type => application/json
和Accept => application/json
之类的严格标头调用端点,则它将在json中返回一条消息,说明其应如何操作。
问题出在未插入例如标题Accept...
的标题时,它进入路由登录,并且工作正常,应该正常工作,因为脚本正在这样做。
protected function unauthenticated($request, AuthenticationException $exception)
{
return $request->expectsJson()
? response()->json(['success'=> false,'message' => $exception->getMessage(), 'code' => 9], 401)
: redirect()->guest($exception->redirectTo() ?? route('login'));
}
但是当没有在标题中插入Accept属性时,它将引发新的InvalidArgumentException(“ Route [{$ name}]未定义。”);
我如何在laravel API中处理此问题?另一方面,我需要这种行为,因为我将在我的laravel应用程序中拥有我的后端,而我的一部分则是我将与移动应用程序共享的api。