美文网首页
laravel 构造函数无法return

laravel 构造函数无法return

作者: 码农工号9527 | 来源:发表于2019-11-11 12:37 被阅读0次

    在用laravel写对外接口时发现laravel构造函数中是无法return,如果要使用return的话就需要用中间键了
    流程:
    1.创建中间件,创建成功后在/app/Http/Middlewar下会生成ApiCheck.php文件

    php artisan make:middleware ApiCheck
    

    2.在/app/Http/kernel.php注册中间件 ,因为我的是对外接口的中间键,所以在api中添加ApiCheck,如下

        protected $middlewareGroups = [
            'web' => [
                \App\Http\Middleware\EncryptCookies::class,
                \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
                \Illuminate\Session\Middleware\StartSession::class,
                // \Illuminate\Session\Middleware\AuthenticateSession::class,
                \Illuminate\View\Middleware\ShareErrorsFromSession::class,
                \App\Http\Middleware\VerifyCsrfToken::class,
                \Illuminate\Routing\Middleware\SubstituteBindings::class,
            ],
    
            'api' => [
                'throttle:60,1',
                'bindings',
                \App\Http\Middleware\ApiCheck::class,
            ],
        ];
    

    3.ApiCheck中间键中就可以修改代码,添加return的相关操作了,如下,判断config参数是否存在

    <?php
    
    namespace App\Http\Middleware;
    
    use Closure;
    
    class ApiCheck
    {
        /**
         * Handle an incoming request.
         *
         * @param  \Illuminate\Http\Request  $request
         * @param  \Closure  $next
         * @return mixed
         */
        public function handle($request, Closure $next)
        {
            if(!$request["config"]) return response()->json(["errorCode"=>1,"data"=> ["msg"=>"config is invild"]]);
            return $next($request);
        }
    }
    

    4.接口测试访问


    test.png

    相关文章

      网友评论

          本文标题:laravel 构造函数无法return

          本文链接:https://www.haomeiwen.com/subject/tbqtictx.html