RESTful参考表示-语义链接与URI
我们正在设计一个RESTful API,以打开客户的帐户信息。我们的表示形式包含对与当前资源相关的其他资源的引用。这来自我们在公共API和已发布的资料中可以找到的许多最佳实践。表示形式可以是XML或JSON。 例如,对于帐户资源,我们将引用该帐户的地址,对于分页列表资源,我们将引用第一,下一页和上一页。 该API首先使用<link title="" rel="" href="" />O'Reilly书中所述的语义链接进行设计,并由Netflix和Google在API中使用。当我们的质量检查工程师编写自动化套件时,他们在反序列化链接时遇到了问题。现在,我们建议使用更简单的uri字符串元素,这些元素已在Facebook和Twitter中用于API。 此后,我们的质量检查工程师已经解决了其反序列化问题,但是我仍然担心当前API规范与语义链接的易用性。我们的API主要将由我们的客户和一些第三方合作伙伴使用,而我们之所以选择REST,是因为以前的XML-RPC API对我们的消费者来说太难了。 tl; dr; 题: 实施了语义链接表示的任何人都遇到过困难的消费者问题吗? 更新(6/21):我已经决定保留语义链接,并希望混淆是一个边缘案例。一旦一些消费者使用了该API,我将尽量记住用我们的经验来回答这个问题。 编辑:添加示例 语义帐户JSON: { "username": "paul", "links": [ { "title": "addresses", "rel": "related", "href": "http://example.com/account/paul/addresses" }, { "title": "history", "rel": "related", "href": "http://example.com/account/paul/history" } ] } 语义帐户XML: <account> <username>paul</username> <link title="addresses" rel="related" href="http://example.com/account/paul/addresses" /> <link title="history" …