Session store not set on request.

今天在把钉钉小程序从本地 web 环境迁移到线上的时候出现了这个小问题,主要是本地环境使用的是 web 路由,线上使用的是 api 路由,而 laravel5.5kernel.php 中间件组里并没有为 api 路由添加相关中间件导致

最直接的解决办法就是在 App\Http\kernel.php 里的 protected $middleware 里添加中间件

    protected $middleware = [
        \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
        \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
        \App\Http\Middleware\TrimStrings::class,
        \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
        \App\Http\Middleware\TrustProxies::class,
        \Illuminate\Session\Middleware\StartSession::class,//添加中间件
        // \App\Http\Middleware\EnableCrossRequestMiddleware::class,
    ];

但是由于线上开发环境主管做了文件修改限制,所以只能选择直接在路由组里添加

$api->group(['namespace'=>'App\Http\Controllers\Api\Mark','prefix'=>'mark','middleware'=>'\Illuminate\Session\Middleware\StartSession::class'],function($api){

$api->post('userInfo',"MdetailsController@userInfo");

$api->post('mdetails',"MdetailsController@create");

$api->get('alias',"MdetailsController@alias");

$api->get('mtypes',"MtypesController@index");

});
本作品采用《CC 协议》,转载必须注明作者和本文链接
reading
白小二
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!