zoukankan      html  css  js  c++  java
  • 【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',
            ),
        ),

    验证: 

    成功 !

  • 相关阅读:
    CQUOJ 10819 MUH and House of Cards
    CQUOJ 9920 Ladder
    CQUOJ 9906 Little Girl and Maximum XOR
    CQUOJ 10672 Kolya and Tandem Repeat
    CQUOJ 9711 Primes on Interval
    指针试水
    Another test
    Test
    二分图匹配的重要概念以及匈牙利算法
    二分图最大匹配
  • 原文地址:https://www.cnblogs.com/richerdyoung/p/8672724.html
Copyright © 2011-2022 走看看