理解Laravel的中间件

<?php

namespace App\Http\Middlewares;

use Closure;
use Illuminate\Support\Facades\Log;

class TestMiddleware
{
    public function handle($request, Closure $next)
    {
    
        Log::info($request);
        Log::info($next($request));

        return $next($request);
    }
}

管道模式:

将请求信息 $request 按照中间件的注册顺序顺序依次传递给各个中间件,每个中间件对该请求携带的信息进行验证和处理,并传递给下一个中间件,在处理过程中可以随时向$request中添加信息,直到所有中间件处理完成后,最终将响应返回。

可以看一下Log打印的结果:

[2019-12-03 12:59:34] lumen.INFO: GET /test HTTP/1.1
Accept:          */*
Accept-Encoding: gzip, deflate
Authorization: JIUzI1NiJ9.eyJzdWIiOiJaTTZZYk9qdmFYIiwiZXhwIjoxNTc1MzgyMDA2fQ._n4hARKvDbWfU3CJOod7j6C8sbuP2DUyz9QH6KnEq_k
Cache-Control:   no-cache
Connection:      keep-alive
Content-Length:
Content-Type:    application/json
Host:            oweihaoyu.sandbox.openapi.qcds.com
Postman-Token:   3c7cdd71-49ff-4036-8527-8f8562a6bca6
User-Agent:      PostmanRuntime/7.13.0


[2019-12-03 12:59:34] lumen.INFO: HTTP/1.0 200 OK
Cache-Control: no-cache, private
Content-Type:  application/json
Date:          Tue, 03 Dec 2019 04:59:34 GMT

{"code":0,"msg":"success","data":{}}  
发布了200 篇原创文章 · 获赞 26 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/why444216978/article/details/103365336
今日推荐