专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 高性能WEB开发

问个REST API中URL格式的有关问题

发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
问个REST API中URL格式的问题
传统的URL风格,比如localhost:8080/recordQuery?user=xx&year=2014
用来查询user "xxx"在2014年的一些记录,可能php或者asp的网页如果用这种格式,后端可以直接用user和year这俩key来获得value,这是它们的格式要求。

那么对于rest api,自然也可以用这种url,但据说没有了restful的优点

restful的url,推荐用如下格式

localhost:8080/recordQuery/user/xxx/year/2014?
这样的好处在哪里?害死仅仅是让localhost:8080/recordQuery/user/xxx 这样的查询本身更像一个普通的地址,然后get post这个url更好看些?  和restful api那个缓存机制有关系么?性能上有好处还是只是仅仅约定俗成而已?

好像还看到一种写法,就是
只有 localhost:8080/recordQuery一个url,然后user和year用非url的参数来传递。

说实话,刚接触rest api,我有些糊涂随来点拨一下?
------解决思路----------------------
多看些rest的东西
rest是说,任何资源都有一个唯一路径。然后配合http的请求方式 get,post,put,delete等来实现的
------解决思路----------------------
rest不是一种深奥的技术,也不是什么标准规范,只能说是一种约定俗成的习惯吧。相关知识建议参考ROR或者YII中关于rest部分的guide.
------解决思路----------------------
rest注重的是可读性,我认为你的url应该是这样更好:localhost:8080/recordQuery/xxx/2014

------解决思路----------------------
引用:
rest注重的是可读性,我认为你的url应该是这样更好:localhost:8080/recordQuery/xxx/2014
是不是一目了然?查询订单,用户名是什么,查询范围是什么
------解决思路----------------------
restful URI的意义就在于将互联网上的任何数据都看成资源,而这个url就是用来唯一标识这个资源的。
像你上面的查询某个客户的记录,这里首先客户client、record就是资源,所以你的url应该是这样:http://url/client/2343/record?year=2014,这是某个客户的所有record列表;如果是某个客户的某个记录的详细信息:http://url/client/2343/record/333
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: