2014-02-11 64 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。希望有所幫助。