Restful程序设计学习总结(一)

最近在项目中使用到了Restful,那么Restful是什么?下面我就总结一下、并且通过一个案例做一下基于Restful的实现。(PS:由于也是这方面的初学者,所以仅是谈下自己的理解,并不会深入探讨)

首先来说,Restful不是一种具体的程序设计语言,而是一种程序设计的风格,也可以理解为一种规范。简单来讲,如果你的程序设计遵循了这些规范,那你的软件便是符合Restful结构的。

一、概念

REST,即Representational State Transfer的缩写,可以翻译为"表现层状态转化",具体来说是"基于资源的表现层的状态转化",好,让我们来详细理

解下每个词语的意思。

1.资源,所谓资源,就是网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是

一个具体的实在。我们可以用一个URI(统一资源定位符)指向这个资源,每种资源对应一个特定的URI。要获取这个资源,访问它的URI就可以,因此

URI就成了每一个资源的地址或独一无二的识别符。

2.表现层,我们把"资源"具体呈现出来的形式,叫做它的"表现层"Representation)。比如,文本可以用txt格式表现,也可以用HTML式、XML格式、JSON格式表现;图片可以用JPG格式表现,也可以用PNG格式表现,等等。

3.状态转化访问一个网站,就代表了客户端和服务器的一个互动过程。在这个过程中,势必涉及到数据和状态的变化。因此,如果客户端想要操作服务器,必须通过某种手段,让服务器端发生"状态转化"State Transfer)。而这种转化是建立在表现层之上的,所以就是"表现层状态转化"

具体来说,就是HTTP协议里面,四个表示操作方式的动词:GETPOSTPUTDELETE。它们分别对应四种基本操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源。

总结一下,对于rest程序设计,我认为只要把握好2点就可以了,一是资源,而是操作,针对不同的业务请求,你要对资源采取什么样的操作,只要定义好这个原则,就不难设计出符合REST的程序了。

另外补充RESTful主要用于客户端和服务器交互类的软件,REST中,每一个对象都是通过URL来表示的,对象用户负责将状态信息打包进每一条消息内,以便对象的处理总是无状态的。

既然规定好资源,规定好操作方式,那么我们就可以通过定义Restful接口来实现对资源的操作了,下面谈下Restful接口标准

接口命名规则:http://IP:端口/app-name/rest/v/接口名(资源名)/param

说明:1、IP表示服务器IP地址;

    2、端口表示RESTful端口号;

    3、app-name表示应用名称,一般使用工程名;

    4、rest表示我们xml文件中拦截请求的格式;在<servlet-mapping>中进行配置,表示我们接受对于所有符合这种格式的请求。此处rest只是一个请求形式,可以是a,b,c任意字母或单词都可以。

    5、v表示版本号;注:版本信息在此处不是必须的信息,如果URI中加入版本信息会使服务更好的提供多版本的支持并且可以提高向下的兼容性,如果不需要支持多版本的服务,版本号尽量不出现在服务地址中,这样会增加管理的难度。

            6、接口名表示我们要调用的接口名称,尽量不使用驼峰式命名方式命名。

            7、param表示参数。注:此项根据不同接口的功能不同视情况决定,如果有参数表示修改参数对应资源的信息,如果没有参数表示新建一条信息。


OK,对于Restful的基本概念就讲到这里,接下来我会用几个小案例来实现下restful的程序设计。












评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值