当前位置:  开发笔记 > 程序员 > 正文

你如何通过ID以外的东西获取RESTful资源?

如何解决《你如何通过ID以外的东西获取RESTful资源?》经验,为你挑选了1个好方法。

在某些情况下,我需要通过除ID之外的参数来查找对象.什么是正确的RESTful方式呢?

例如,我可能希望找到一个Userusernamepassword,所以严格的RESTful" GET /users/1"是行不通的.

根据Rails文档,这是获取资源的所有实例的URL模式:" GET /users".我可以添加参数:" GET /users?username=joe&password=topsecret",但这会违反GET请求的官方目的.



1> Breton..:

"GET/users?username = joe&password = topsecret",但这会歪曲GET请求的官方目的."

不,它不会变态.这绝对是正确且RESTful的方式,并且是在http规范中检索动态结果的推荐方式.REST不关心URL中的内容,只关注它是唯一的. 对于所有REST架构关注,该页面的URL可以是 http:// 3f778a9b8a7c778696e,只要这是实现目标的唯一方法,并且它不会在其他任何地方引导.

http定义用于返回动态结果的查询字符串协议.给定数据库的当前状态,您为应用程序提供的查询字符串应始终返回相同的结果.然后它将是RESTFUL.URL美学与REST完全不同.

根据REST架构,GET请求的规则是它总是返回相同的结果(或者在相当长的时间内保持相同的结果,以便缓存起作用),并且GET没有副作用.GET需要是​​幂等的(总是返回相同的结果,无论你调用多少次)并且不会导致系统改变状态.就是这样.

当然,您不必使用查询协议.您可以将参数放在正斜杠中,在分号之间,或者它可以是base64编码的GUID.这完全取决于你,只要遵循这些简单的规则.

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有