标签:
Rest ful api是 Fielding(楼下那叔叔) 在他的论文《Architectural Styles and the Design of Network-based Software Architectures》中提出的,论文地址:http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm。(。。。)
因为最近在做hybird App,需要调用使用Sping mvc发布的接口,就想尝试一下新的接口形式,希望能规范下接口开发,方便调用,具体都有什么好效果,再议。
REST:Representational State Transfer,即表现层状态转换。在网络上,我们通过URI定位资源,之后将资源呈现出来的具体形式叫做它的“表现层”。
理解状态转换:
在REST ful API设计中,客户端通过四个HTTP动词,对服务器端资源进行操作,实现"表现层状态转化",所以,可以看出我们对每一个URL中代表的资源操作都放在了http请求中,所以,在URL中,不应该再包含有动词。
代表资源的URI应该只包含名词。
前端对于API数据的操作放在了我们AngularJs的service模块中,通过$resource
来访问我们的API接口,实现对数据的CRUD操作,其实感觉跟我们JQ中的AJAX是差不多的,但是实现起来当然还有一些小细节要注意。
在后台,主要是在Spring Mvc的Controller中,对于方法,我们建议返回JSON数据,通过@ResponseBody注解标注方法,并引入JackJson的Jar包,在spring mvc的配置文件中加入可返回JSON的配置。(根据Spring MVC 的版本而定)。
关于移动端和后台开发的分离,目前主要使用野狗模拟的假数据,替代了使用本地JSON的形式。前段时间看NodeJs的时候,发现NodeJS里面有个模块faker,也有这方面的效果,但是还木有具体尝试,但是使用NodeJS进行开发也能做到两端分离开发。等有时间了再研究下,有用过的大神们可以留个言。
标签:
原文地址:http://blog.csdn.net/lhc1105/article/details/50995627