潜谈Restful API

要弄清楚什么是RESTful API,首先来理解REST是什么.

REST (Representational State Transfer),表示性状态转移。简单来说,就是用URL表示资源,用HTTP方法(GET,POST,PUT,DELETE)表征对资源的而操作。

Resources:资源,即在互联网上可被访问到的实体,或者可以说是在网上存在的具体信息。可以是一段文本,一张图片,一个视频等,总之就是具体的实在;你可用一个URI(统一资源标识符)来定位这个资源,不同资源对应不同的URI,因此每一个URI就成了每一个资源的地址或者独一无二的标识符了。

Representation:(表现层)“资源”只是一种信息实体,它可以有多种不同的外在表现形式。故将“资源”具体表现出来的形式,称之为“表现层”.

State Transfer:状态转移,通过http来实现.访问一个网站,就代表着客户端和服务端的一个交互过程,在此过程中势必涉及到了数据和状态的改变。

 

Restful API 就是Rest风格的api。

众所周知,网络应用程序,分为前端和后端两个部分,然随技术发展,前端终端设备层出不穷(手机、平板、PC等其他设备),如果前端请求后端数据没有一种统一的机制的话,

那么服务端就需要为每个平台的数据请求定义相应的返回格式,以适应前端的显示,显然,这是难以做到的;这便导致了API架构的流行,甚至出现了‘API First’的思想;

RESTful API是目前比较流行的一套互联网应用程序的API设计理念,RESTful API要求前端以一种预定义的语法请求格式发送请求,这样服务端便可以只定义一个统一的响应接口,

不必像之前那样去解析各式各样的请求;

RESTful是典型的基于http协议的API 风格

 

在客户端和服务端交互的 过程中,用到的便是Http协议,具体来说,便是Http中的四个动词:GET、POST、PUT、DELETE,分别对应的

功能便是:

GET:获取资源

POST:新建资源,也可以用于资源的更新

PUT:更新资源

DELETE:删除资源

 

总结RESTFUL 架构:(引用大博阮一峰,感觉这里他讲的很好

(1)  每一个URI代表着一种资源;

(2)  客户端和服务端之间,传递这种资源的表现层;

(3)  客户端通过4个Http动词,对服务端资源进行操作,实现“表现层状态转移”

 

常见设计误区:

URI中不应该存在动词,既然是表示某种资源,动词应当存在于Http协议当中。

 

参考的文章有:http://www.ruanyifeng.com/blog/2014/05/restful_api.html;

潜谈Restful API

上一篇:Netty的ByteBuf API(2)


下一篇:windows提权