中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

laravel踩坑記:空字符轉null

發布時間:2020-02-27 08:26:11 來源:網絡 閱讀:1312 作者:hgditren 欄目:web開發

場景:手頭的項目需要對外提供API服務,需要對請求數據進行簽名校驗。提交接口的數據會有''空字符值存在,laravel的Illuminate\Foundation\Http\Request接收到參數后,會將空字符強制轉換為NULL,導致簽名校驗通不過。

經過一番努力,找到幕后黑手。
Illuminate/Foundation/Http組件中有定義這個中間件。
vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php

<?php

namespace Illuminate\Foundation\Http\Middleware;

class ConvertEmptyStringsToNull extends TransformsRequest
{
    /**
     * Transform the given value.
     *
     * @param  string  $key
     * @param  mixed  $value
     * @return mixed
     */
    protected function transform($key, $value)
    {
        return is_string($value) && $value === '' ? null : $value;
    }
}

解決方法:
既然是中間件作祟,肯定在內核中有注冊。找到內核注釋該中間件就好。
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,
    ];
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

元阳县| 彝良县| 舞阳县| 白水县| 珠海市| 西乌珠穆沁旗| 汉源县| 泸溪县| 泗洪县| 会宁县| 西吉县| 磴口县| 西林县| 霸州市| 玉山县| 海晏县| 航空| 平度市| 绵阳市| 灵武市| 宁河县| 凤台县| 封丘县| 衡阳市| 大同县| 呼和浩特市| 衢州市| 正镶白旗| 昌乐县| 肇庆市| 望谟县| 泗水县| 明溪县| 巴彦淖尔市| 盘山县| 海兴县| 潮安县| 台南县| 会东县| 麻阳| 灵石县|