Closed Guxinpei closed 3 months ago
- OS:Bullseye (其实这不重要) - PHP:官方Bullseye的镜像 (就如同我之前所说) - wechatpay-php:wechatpay/wechatpay:^1.4(lock为1.4.9)
Hi, 我团队的小伙伴get请求时,调用chain的时候跟我反馈了一个小问题。
//以获取资源为例 /** @var BuilderChainable $apiInstance */ $apiInstance = WechatSdkFactory::make($model)->getSdkInstance(); $apiInstance->v3->merchantService->images->_media_id_ ->get([ 'media_id' => $mediaId, ]);// that's cool ,它会返回正确的信息 $apiInstance->chain('v3/merchant-service/images/{media_id}') ->get([ 'media_id' => $mediaId, ]);// 这也没问题 $apiInstance->chain("v3/merchant-service/images/{$mediaId}") ->get();// nope,这样不行,因为sdk无法识别query哪一部分是真正的参数,所以authcation会有问题。
我理解验签过程必须有所有参数进行校验的困难,但是这看起来还真的挺怪XD 我尝试过写个PR去改进它,但到其实最后我也没找到办法。也许大家有更好的主意?
本类库处理 URL.pathname 时是大小写敏感的,自己拼接时,要保证不含大写字符就不会有问题,对于值构成规则未知的源,最好就是用 {placeholder} 写法。
URL.pathname
{placeholder}
Hi , @TheNorthMemory 是的,我们也意识到了这一点。谢谢你的帮助。
运行环境
描述你的问题现象
Hi, 我团队的小伙伴get请求时,调用chain的时候跟我反馈了一个小问题。
我理解验签过程必须有所有参数进行校验的困难,但是这看起来还真的挺怪XD 我尝试过写个PR去改进它,但到其实最后我也没找到办法。也许大家有更好的主意?