laravelの開発をしていると、クライアントから空文字(”)を送ったときに、サーバー側でnullになってしまうことがありました。
よくよく調べてみると、どうやらlaravel5.4から導入されたミドルウェアによって、空文字リクエストは全てnullに変換されてしまうのでした。
nullではなくて、空文字のままがよい場合は、\app\Http\Kernel.phpのConvertEmptyStringsToNullをコメントアウトすることにより回避できるようになります。
/**
* The application's global HTTP middleware stack.
*
* These middleware are run during every request to your application.
*
* @var array
*/
protected $middleware = [
\App\Http\Middleware\TrustProxies::class,
\App\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class,
- \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
];