Laravel5.8 API 接口请求,出现问题,烦请指教
**> exception: "Symfony\Component\Debug\Exception\FatalThrowableError"
message: "Argument 1 passed to Illuminate\Routing\Middleware\ThrottleRequests::addHeaders() must be an instance**
这个问题 百度上也没有个方向是指,返回的数据必须是 response->json 不能是 json_encode ,
实际这个问题出现时 是api接口请求时出现的,也看到这个中间件时限制api请求频率的,但是报的这个错误,确实不清楚怎么出现的 ,烦请各位不吝赐教!!!
- 中间件中不能用json_encode
使用 return response()->json(array('code' => ErrorCode::NOT_LOGIN, 'msg' => ErrorMsg::$errorMsg[ErrorCode::NOT_LOGIN])); 就好了。
原文:https://blog.csdn.net/qq_32534555/article/...
"这是其中一个答案百度看到的"
好的,总之中间件的返回值需要注意这个问题。但是我觉得你遇上这个问题的源头主要还是你在中间件中用了这种不咋么常规的写法,一般我习惯用抛出异常来处理,而且权限不足其实系统也有预设的异常可以使用,包括可以看一下官方的
Authenticate
中间件里面我也看到用的是抛出异常。