RESTURL请求和方括号(';[';和';]';)
我想知道方括号(RESTURL请求和方括号(';[';和';]';),rest,parameters,character,standards,Rest,Parameters,Character,Standards,我想知道方括号([和])是否是RESTURL参数中的标准 我必须通过设置URL中的所有参数来调用Cloud REST Web服务。URL看起来像:https://DNS_SERVEUR/api/2/conversation?filters[网站]=1234&数据=a0123…. 您可以看到一个参数的名称包含方括号:filters[website] 直接使用Firefox或SOAP-UI调用URL不会引起任何问题(它们不会在方括号内崩溃) 但是,使用Oracle Fusion中间件12.2.1.1
[
和]
)是否是RESTURL参数中的标准
https://DNS_SERVEUR/api/2/conversation?filters[网站]=1234&数据=a0123….
您可以看到一个参数的名称包含方括号:filters[website]
[
和]
)可以用作标准RESTURL参数吗?或者这是Oracle Fusion中间件的一个限制
我在网上搜索,没有得到任何明确的答案。使用它的唯一示例(法语)是在PHP中操纵关联数组:。由于PHP非常宽容,我不认为它有一个可靠的标准参考。RFC3986应该是理解URI中允许的内容的途径
query = *( pchar / "/" / "?" )
pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
钩子字符是gen-delims
,而不是sub-delims
gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@"
因此,当它们出现在查询部分时,应该对其进行编码
另请参见事实上,有一种方法可以管理REST WebService,它会影响URL中允许的字符:
但是Oracle Fusion中间件将WADL与REST结合使用,这很自然,REST参数的名称中不允许有[]个字符。这里有一些好的和坏的URL模式的例子:但与“[”和“]”参数无关谢谢,它回答了我的问题。这些字符作为分隔符是合法的,但使用它们(或不使用)取决于解析算法。在,它说:“这些字符被称为“保留”,因为它们可能(也可能不)被通用语法、每个特定于方案的语法或URI的解引用算法的特定于实现的语法定义为分隔符。”。在我看来,算法决定禁止这些字符