我们有一个申请的拉里,并有一个路线:
Route::get('/example-route', "exampleController@index")->middleware("example_middleware");我想在中间件中获取此请求的http状态代码。我该怎么做呢?
发布于 2021-09-27 17:56:23
您无法在中间件中获取状态代码,因为它还不存在。
状态代码是响应的一部分,而不是请求,因此它在中间件中“不可用”。
您看到的200是应用程序返回的代码:
/example-route的请求exampleController@indexindex方法返回一个状态代码:这是屏幕截图中蓝色突出显示的状态代码。public function index()
{
return response('This is a code 200', 200); //returns 200
return response('This is a code 400', 400); //returns 400
// and so on...
}默认情况下,如果没有错误,Laravel会发送一个200,而且您可能知道,当服务器出现错误时,500是泛型错误代码。
HTTP状态代码的完整列表可以在这里找到:电码
同样,由于此代码是您返回的内容(或者Laravel根据请求结果返回的内容),所以在中间件中不能“访问”它,因为此时它不存在事件。
我希望在用户活动日志中有状态代码(用于请求的url)。
如果要记录状态代码,则必须在发送响应之前将其记录下来。
public function index()
{
// the logs should be created here
return response('This is a code 200', 200); //returns 200
}https://stackoverflow.com/questions/69351160
复制相似问题