xml - 最佳实践 - 由两个名称标识的资源的 REST URI 设计

标签 xml rest resources uri

REST 资源应由两个名称标识。对此的最佳实践是什么?

我的想法:

 .../{id1}-{id2}
 .../{id1}/{id2}

ID 可以由数字、字母和特殊字符组成。

第一个解决方案:

如果其中一个 ID 包含字符 -,则会出现问题。在这种情况下,分隔字符不是唯一的。

第二个解决方案:

只需 .../{id1}将没有资源,这是 RESTful 吗?

编辑:

REST 资源代表凭据。凭据由提供商名称和用户名标识。

 .../Credentials/<ProviderName>;<UserName>

我不想显示在 .../Credentials/<ProviderName>提供者的所有凭据(它不适合我的 XML 结构)。

编辑2:

.../Credentials所有凭证都将以 XML 形式显示。凭证表示为 XML 根元素的子元素。我想创建一个与 XML 结构相同的 REST 资源结构。因此,.../Credentials的子资源应该直接是某个凭据(而不是像所有提供者那样的一组凭据)。

最佳答案

你的第二个解决方案.../{id1}/{id2}对我来说,你在id1id2之间有层次结构关系>,这似乎不能很好地解决您的资源设计,因为 正如您所说,标识符引用相同的资源。另一方面,对于您的第一个解决方案 .../{id1}-{id2} 您可以使用 ; 而不是 - 以避免暗示不存在层次结构的地方 如 Restful Web Services 中引用所以我会这样做:

.../{id1};{id2}/

关于xml - 最佳实践 - 由两个名称标识的资源的 REST URI 设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15875414/

相关文章:

rest - 使用 Intel XDK 的 HTTP 基本身份验证

.net - 是否可以在 .net DLL 中嵌入和使用可移植的可执行文件?

java - 定义按钮的目标 Activity

java - 为什么无法解析此 XML 文件?

java - 如何解决 HTTP Status 500 - ContainerException java.lang.NoSuchMethodError 错误

asp.net-mvc-3 - 用于网站和 Api 的 Ninject - 序列不包含元素

linux - 在 Docker 中为资源管理挂载 cgroup

python - Python 中的 'ulimit' 是什么?

xml - 在 R 中解析 XML

java - 在java中将xml解析为字符串以在sitemap.xml中给出优先级值