Xml 最佳实践-由两个名称标识的资源的RESTURI设计

Xml 最佳实践-由两个名称标识的资源的RESTURI设计,xml,rest,resources,uri,Xml,Rest,Resources,Uri,REST资源应该由两个名称标识。这方面的最佳做法是什么 我的想法是: .../{id1}-{id2} .../{id1}/{id2} id可以由数字、字母和特殊字符组成 第一个解决方案: 如果其中一个ID包含字符-,则会出现问题。在这种情况下,分隔字符不是唯一的 第二种解决方案: 至少,../{id1}将没有资源,这是RESTful吗 编辑: REST资源表示凭据。凭据由提供程序名称和用户名标识 .../Credentials/<ProviderName>;<UserN

REST资源应该由两个名称标识。这方面的最佳做法是什么

我的想法是:

 .../{id1}-{id2}
 .../{id1}/{id2}
id可以由数字、字母和特殊字符组成

第一个解决方案:

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

第二种解决方案:

至少,
../{id1}
将没有资源,这是RESTful吗

编辑:

REST资源表示凭据。凭据由提供程序名称和用户名标识

 .../Credentials/<ProviderName>;<UserName>
../Credentials/;
我不想在
../Credentials/
上显示提供程序的所有凭据(它不适合我的XML结构)

编辑2:


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

您的第二个解决方案
../{id1}/{id2}
对我说,
id1
id2
之间有层次关系,这似乎不能很好地修复您的资源设计,因为 正如您所说,标识符引用相同的资源。另一方面,对于第一个解决方案
../{id1}-{id2}
,可以使用
改为
-
,以避免在不存在层次结构的情况下暗示层次结构 如so中所述,我将继续:

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

RESTAPI必须是超文本驱动的,所以不要在URL模式上浪费时间,因为它们不是RESTful的。URL模式暗示了客户端和服务器之间的紧密耦合;简单地说,客户机必须知道URL的外观,并且能够构造它们

另见本帖:


关于证书的说明;您似乎在客户端和服务器之间保持一种状态,这也违反了REST原则:无状态。

您能否详细说明这两个名称的含义以及这些ID代表什么?如果您提供一个示例来提供更多的上下文,那就更好了。编辑了我的初始帖子。如果不是提供程序的所有凭据,您能更具体地说明最后一个url的内容吗?再次添加了一些信息。Annotation@Path(“{id1};{id2}”)似乎不适用于Jersey。