发表于: 2016-03-06 22:23:41
1 4884
1.了解Rest
(1)链接:http://kb.cnblogs.com/page/132129/
这个链接中简单介绍了Rest的五条关键原则,但我依然不知道Rest是一个什么东西,看样子,它好像只是一种web设计风格,包含五个原则,难道开发人员遵循这五个基本原则进行开发的web项目就是Rest吗?
五个基本原则是:
(1.1)为所有“事物”定义ID;
(1.2)将所有事物链接在一起;
(1.3)使用标准方法;
(1.4)资源多重表述;
(1.5)无状态通信。
(2)百度百科_REST词条
如果每个用户需求都可以抽象为资源,那么就可以完全使用REST。使用REST的关键是如何抽象资源,抽象得越精确,对REST的应用就越好。
(3)链接:http://kb.cnblogs.com/page/104300/
(3.1)REST是一套用来创建Web Service的方法。
(3.2)REST式的Web Service的主旨是让事情尽量的简单化。
(3.3)REST式的Web Service使用HTTP里的方法:GET, POST, DELETE, PUT。你不需要使用URL或请求的内容来指定这个方法。
(3.4)REST式的Web Service使用URL来指明你将要操作什么对象。
(3.5)REST式的Web Service使用HTTP状态码作为返回值。
(3.6)REST式的Web Service调用产生的HTTP请求内容只是用于服务数据——不是用来指明调用方法,目标对象或返回值的。
(4)链接:http://kb.cnblogs.com/page/47680/
这篇文章介绍了为什么REST会出现,REST的出现是为了满足web系统的某些属性(基于web的系统所关注的属性主要有:性能;可伸缩性;可扩展性;可移植性;可靠性)。
REST这一架构风格的基本要素包括:资源、表述、状态、转移。
REST的适用场合为互联网,而非企业应用。
REST是一组设计需求集合,它作为一个抽象层面的架构风格不依赖于任何实现细节。
(5)链接:http://www.cnblogs.com/gaojing/archive/2012/02/04/2413626.html
这篇文章里介绍了URI、URL和URN的区别和联系:
URI,是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。而URL是uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。而URN,uniform resource name,统一资源命名,是通过名字来标识资源,比如mailto:java-net@java.sun.com。也就是说,URI是以一种抽象的,高层次概念定义统一资源标识,而URL和URN则是具体的资源标识的方式。URL和URN都是一种URI。
(6)链接:http://kb.cnblogs.com/page/184131/
这篇文章介绍URI的作用和其在REST中的作用。
一个URI只能指向一个资源,而一个资源可以被多个URI同时指向。
对URI本身的“操作” 只存在两种:referencing和dereferencing,前者引用一个URI来指代一个资源,后者表示了通过URI来取回实际对象的命令,而这一命令的执行是通过HTTP请求完成的。
URI的基本角色定位是资源标识与查找。
(7)链接:http://kb.cnblogs.com/page/521718/
这篇文章主要讲了REST API在撰写过程中需要注意的一些原则。
HTTP的5个主要方法:
(7.1)GET:获取某个资源,GET操作应该是幂等的,且无副作用。
(7.2)POST:创建一个新的资源。
(7.3)PUT:替换某个已有的资源。PUT操作虽然有副作用,但其应该是幂等的。
(7.4)PATCH:修改某个已有的资源。
(7.5)DELETE:删除某个资源。DELETE操作有副作用,但也是幂等的。
下面是我对文章中一些术语的理解:
Etag:可以将其视为一串口令,客户端在像服务器端请求更新资源时,服务器端先核对口令,如果口令一致(表明资源并未发生修改),则拒绝该请求,使用本地缓存;如果口令不一致(表明资源发生修改),就接受请求,更新资源。目的是为了高效。
HMAC Auth:就相当于虎符,一般是access-key,一半是access-secret。当客户端调用REST API时,API会发给客户端一套虎符,然后客户端向服务器端请求数据,服务器端也有一套一模一样的虎符,两边一比对,哎,刚好合适,服务器端就接受请求。目的是为了安全。
RFC:就是一套标准,该怎样发送请求,什么情况返回什么状态,都有明确规定,撰写REST API也要按照基本法来。
HTTP Header:链接:http://www.cnblogs.com/A-Song/archive/2012/01/26/2329715.html,虽然用的语言是php,不过前面一段和那张图把HTTP Header介绍的很清楚。
(8)链接:http://www.cnblogs.com/springyangwc/archive/2012/01/18/2325784.html
这篇文章关于REST接口的开发有一个很详细的例子,可以参考。
2.新建Maven Web工程
创建方法:File-New-Maven Project,然后next,在“Select an Archetype”这一步选择“maven-archetype-webapp”这一项。但是创建失败,错误提示:Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webap。解决方法:http://www.csdn123.com/html/mycsdn20140110/09/096927f2cf6a84b982ca2176282e6a58.html
建立完成。
评论