【Phalapi2.0】 如何使用 source 通过 header 传参数

做接口服务时候。有些场景会使用header 来传递参数。 查看官网文档说明

 

数据来源 source
指定当前单个参数的数据来源,可以是post、get、cookie、server、request、header、或其他自定义来源。未指定时,默认为统一数据源。

目前支持的source与对应的数据源映射关系如下:

 

本次我使用header 时 ,发现 一直校验失败。过程如下

1  ./config/app.php  里边  apiCommonRules 设置应用层统一参数

    'apiCommonRules' => array(
         //签名
         'sign' => array(
            'name' => 'sign', 'require' => true,"source"=>'header',
      ),
       
    ),

报错: 

 

 排查过程: 

1   打开文件   ./vendor/phalapi/kernal/src/Request.php 

打断点, 通过比对  $data 和 $rule   , 发现 大小写问题。

 

 

 查看底层代码

  ./vendor/phalapi/kernal/src/Request.php 

 

 

 ./vendor/phalapi/kernal/src/Request/Parser.php 

 

 发现。这是PHP 接收 header 时候。首字母都会是大写

 

 解决办法: 

  ./config/app.php  里边  name 值首字母改为大写  即可

  'apiCommonRules' => array(
        // //签名
        'sign' => array(
            'name' => 'Sign', 'require' => true,"source"=>'header',
        ),
    ),

验证: 

成功 !

 

转载于:https://www.cnblogs.com/richerdyoung/p/8672724.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值