请求参数传null,默认值无效问题
平时有如下写法:
$type = $request->input('type', 2);
没值的时候,想有个默认值,但只有前端不传type
字段,才有默认值,如果前端传了type=null
,那么这个默认值2是不生效的,得到的type
是null
。
所以我每次默认值不得不采用如下写法:
$type = $request->input('type') ?? 2;
请问大家有更优雅的处理方法吗?
补充一点:自家前端使用的场景下,可以要求前端没值就不传该字段没错。但我经常对接第三方API,第三方API回调传数据的时候,一个字段没有值,他们就是传null
的,挺多公司的API都是这个情况,所以有时候同事问我,->input()
第二个参数可以设置默认值啊,你为什么不用,我又解释一遍为什么,挺尴尬的,就想问问大家有没有更优雅的处理方法,比如在laravel框架某个地方统一设置一下。
推荐文章: