怎么在控制器里加一个中间件?

项目二次开发, 以前的数据表非必填字段默认值基本都是NULL,现在设计的数据表字段没有继续采用这个方法,但这个ConvertEmptyStringsToNull会自动处理空字串为NULL,删除的话怕影响以前的代码,所以想 重新写个中间件,保持默认值不变,但找到的资料不详细,没有实现.
问下大家具体的调用方法

目前用的以下方式,没有实现想要的效果

怎么在控制器里加一个中间件?
原来的Kernel.php 加了以下一行内容

怎么在控制器里加一个中间件?

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
北冥
最佳答案

你应该放到 protected $routeMiddleware

'Jurisdiction' => \App\Http\Middleware\JurisdictionMiddleware::class,

这样

然后

public function __construct()
{
    $this->middleware('Jurisdiction');
}
3年前 评论
wenreal (楼主) 3年前
讨论数量: 5

在这个路由中指定中间件

3年前

@Garlic_2366
这样吗?还是没效果
file
file

3年前

问题解决了吗

Route::group(['namespace' => 'API'], function () {

    Route::group(['middleware' => ['token']], function() {

        // Token auth required
        Route::group(['middleware' => ['notnull']], function () {
//          Route::any('user/logout', 'UserController@logout');
            Route::any('user/refresh_token', 'UserController@refreshToken');
        });
    });
});

可以试试Route嵌套的方式。 :)

3年前 评论
wenreal (楼主) 3年前
北冥

你应该放到 protected $routeMiddleware

'Jurisdiction' => \App\Http\Middleware\JurisdictionMiddleware::class,

这样

然后

public function __construct()
{
    $this->middleware('Jurisdiction');
}
3年前 评论
wenreal (楼主) 3年前

这里做下小结,

步骤一:在Kernel.php文件的这里添加自己写好的中间件
file
步骤二:

方法一:在想要使用该中间件的控制器里添加以下内容

    public function __construct()
    {
        $this->middleware('notnull');
    }

方法二:在路由管理文件routes.php里,对应的控制器后面添加->middleware(‘notnull’),如下
file

3年前

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