2014-02-11 66 views
2

在uri模板语法中,扩展用花括号表示。对返回模板化链接时的URL编码(即百分比编码)是不正确的。在API响应中?uri模板中的百分比编码

http://foo.example.com/users/{?user_id} 

http://foo.example.com/users/%7B?user_id%7D 

好像这一段标准的可能是相关的,并指出,他们必须可以逃过一劫,但我不确定:

http://tools.ietf.org/html/rfc6570#section-1.2

默认的表达式类型是简单的字符串扩展, 其中单个命名的变量是由它的值之后PCT编码集合中的未保留的URI 字符

回答

1

的任何字符不是的,这是不正确的URL编码URI模板令牌替换为字符串 如果意图是将该字符串用作URI模板而不是URI。请记住,URI模板在扩展之前不是URI。如果你编码它们,它可以被认为是一个URI而不是一个模板。我维护用于Java的Handy URI Templates处理器,它不能处理像这样的编码标记,并将字符串视为URI。希望有所帮助。