我知道REST的一个主要原则是您为每个资源创建一个唯一的URL。
我的问题是,这些网址通常是如何定义的?
答案 0 :(得分:1)
REST网址的定义方式与孩子的名字相同:有些人使用姓氏(现有的公司或项目标准),有些人看着婴儿书名(标准文件?哈!),有些人问朋友建议(朋友,邮件列表等),一些人推迟决定并使用默认名称,如“宝贝男孩史密斯”,并在以后必须经历繁琐的重命名过程(301 redirecte等),有些人拒绝告诉任何人什么名字他们选择直到交货日。
总之,真的不是典型的。标准表单生成的URL(具有?name = value& name = value参数)是完全有效的REST URL。许多人更喜欢将这些参数编码为斜线路径,如http://example.com/restapi/name/value/name/value或隐式位置名称http://example.com/restapi/value1/value2。但你绝不限于这些格式。答案 1 :(得分:1)
由你来决定。你应该让它变得有意义并尽可能地持久。
示例:
/users/john.doe
用于用户名和
/users
用于收集用户。
您应该利用URL的分层特性来执行以下操作:
/users/john.doe/documents
引用用户文档列表。你应该非常小心如何构建它。仔细考虑设计的潜在后果,因为资源URL是您服务最重要的设计决策之一。
答案 2 :(得分:0)
然而你喜欢。 URL可能完全不透明,或者URL的路径可以传达预期的资源类型。
您可能希望遵循HATEOAS原则,并将这些URL的访问权限作为您提供的超文本的一部分,因此客户只需要知道如何导航,而不是如何构建某些URL。
即。您可以从根URL开始,并通过导航使所有其他资源可以访问。 不要将自己绑定到特定的URL模板。这只会妨碍您扩展和改进REST API的能力。
答案 3 :(得分:0)
REST是用于构建分布式系统的架构风格。这通常意味着您拥有客户端应用程序和服务器应用程序。当您的客户端应用程序需要访问您服务器上的某些信息时,请创建一个可用于标识该信息的URL。
URL的结构对于客户端应用程序并不重要,因此对于您正在使用的任何服务器框架,请使用最简单的结构。