我想知道方括号([
和]
)是REST URL参数的标准。
https://DNS_SERVEUR/api/2/conversation?filters[website]=1234&data=a0123....
您可以看到一个参数的名称包含方括号:filters[website]
所以这是我的问题:可以使用方括号字符([
和]
)作为标准REST URL参数吗?或者它是Oracle融合中间件的限制?
我在互联网上搜索并没有得到任何明确的答案。使用它的唯一例子(法语)是在PHP中操纵关联数组:http://cyberzoide.developpez.com/php4/url/#LII-E。由于PHP非常宽松,我不认为它有一个可靠的标准参考。
RFC 3986应该是理解URI的query中允许的内容的首选。
query = *( pchar / "/" / "?" )
pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
钩子字符是gen-delims
,而不是sub-delims
gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@"
因此,它们应该出现在查询部分中时进行编码。
实际上,有办法管理REST WebService,它会影响URL中允许的字符:
然而,Oracle融合中间件使用WADL和REST,很自然它不允许REST参数名称中的[]字符。