REST(Representational State Transfer )在Rails里已经被支持了,但是始终搞不清它到底好在哪里。以下均为个人理解,如果不对的地方请指正。
REST以资源为中心,在典型的oltp系统里这个资源就是一个数据库记录,分析层上是一个业务对象。
rest把资源放到URL里,而对资源的CRUD操作则放在http的header里。(因为现在的浏览器还只支持get和post,而delete和put则需要格外处理,rails里是用了input hidden控件)
对于对象的操作,不像以往那样表现在URL上,比如/blog/delete/1表示删除id为1的blog项目,在rest里,只需要/blog/1至于是删除,还是更新,在URL里是看不出来的(这样会不会有问题?比如用户从URL看以为当前是show,F5刷新了一下,结果实际上是delete)。
REST真的把URL变得简单了?如果只是长度小了的话可以算是。也许REST的好处就是使得URL的数量变小。
当然,以上看法只是对使用浏览器来操作web应用的场合,至于web service的话,不需要用户了解多少url等内容,也许会确实变得简单。
这里有一个简单的介绍教程,REST的