laravel踩坑记:空字符转null

场景:手头的项目需要对外提供API服务,需要对请求数据进行签名校验。提交接口的数据会有''空字符值存在,laravel的Illuminate\Foundation\Http\Request接收到参数后,会将空字符强制转换为NULL,导致签名校验通不过。

站在用户的角度思考问题,与客户深入沟通,找到武邑网站设计与武邑网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计制作、成都网站建设、企业官网、英文网站、手机端网站、网站推广、国际域名空间、雅安服务器托管、企业邮箱。业务覆盖武邑地区。

经过一番努力,找到幕后黑手。
Illuminate/Foundation/Http组件中有定义这个中间件。
vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php

解决方法:
既然是中间件作祟,肯定在内核中有注册。找到内核注释该中间件就好。
app/Http/Kernel.php

class Kernel extends HttpKernel
{
    /**
     * The application's global HTTP middleware stack.
     *
     * These middleware are run during every request to your application.
     *
     * @var array
     */
    protected $middleware = [
        \App\Http\Middleware\CheckForMaintenanceMode::class,
        \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
        \App\Http\Middleware\TrimStrings::class,
        //\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,//会将''转化为null
        \App\Http\Middleware\TrustProxies::class,
        \Illuminate\Session\Middleware\StartSession::class,
    ];

名称栏目:laravel踩坑记:空字符转null
本文地址:http://bzwzjz.com/article/ghcosi.html
Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 网站建设改版 成都网站设计公司 网站建设推广 品牌网站建设 H5网站制作 成都网站建设公司 重庆手机网站建设 成都网站建设 成都网站建设流程 专业网站设计 宜宾网站设计 重庆网站制作 成都网站设计 成都响应式网站建设 盐亭网站设计 成都商城网站建设 重庆企业网站建设 外贸营销网站建设 移动网站建设 企业网站设计 成都响应式网站建设 成都企业网站制作