使用API V3协议,当segment中,`uri_template`动态参数中有大写英文字母会被转换成小写英文字母
jodumadie opened this issue · comments
jodumadie commented
使用API V3协议,当segment中,uri_template
动态参数中有大写英文字母会被转换成小写英文字母。
James ZHANG commented
是的,类库中的segment
是大小写敏感的,含义如下:
- 首字符大写,用于标记为
interface
; - 中间字符大写,用于还原连字符hyphen(
-
); - 首尾字符是下划线understore(
_
),用于还原uri_template
字面量字符串; - 特殊语法关键字,如
return
,/
,use
需要用到uri_template
构造;
特殊URI
规则总结于 https://github.com/TheNorthMemory/wechatpay-openapi 项目README
所列如下:
源URI | 模版变量 | 值 |
---|---|---|
secapi/mch/addInstitutionsub |
{addinstitutionsub} 1 |
addInstitutionsub |
secapi/mch/modifyInstitutionsub |
{modifyinstitutionsub} 1 |
modifyInstitutionsub |
secapi/mch/queryInstitutionsub |
{queryinstitutionsub} 1 |
queryInstitutionsub |
v3/applyment4sub/applyment/ |
{stub} 2 |
|
v3/ecommerce/applyments/ |
{stub} 2 |
|
v3/ecommerce/subsidies/return |
{return} 3 |
return |
v3/marketing/busifavor/coupons/return |
{return} 3 |
return |
v3/marketing/busifavor/coupons/use |
{use} 4 |
use |
建议 uri_template
保持与上述规则一致,即使用全小写及/或下划线形式描述模版字面量
。
Footnotes
Vision commented
James ZHANG commented
@yybawang 有多种方式可以避免:
->v3->marketing->favor->users->_openid_->coupons->post(['openid' => 'AbcdEF12345']);
2.->v3->marketing->favor->users->{'{openid}'}->coupons->post(['openid' => 'AbcdEF12345']);
-
->chain('{+myurl}'->post(['myurl' => 'v3/marketing/favor/users/AbcdEF12345/coupons']);
-
->{'{+myurl}'}->post(['myurl' => 'v3/marketing/favor/users/AbcdEF12345/coupons']);
建议使用第一种方式,具有IDE
提示.
Xiaoyu PENG commented
看来需要增加一个常见问题,或者在链式调用的地方再加以强调。