REST与RESTful学习

1 什么是REST?
1.1 REST的概念
REST (Representational State Transfer):表述性状态转移,即资源在网络中以某种表现形式进行状态转移。2000年,由Roy Thomas Fielding在他的博士论文中提出。REST定义了一种互联网软件的架构原则。因此,REST也可以说是一种架构风格。

1.2 REST的原则
网络上的所有事物都可以抽象为资源
每个资源都有唯一的资源标识符
同一个资源具有多种表现形式(xml, json等)
对资源的各种操作不会改变其资源标识符
对资源的所有操作都是无状态的
2 什么是RESTful?
2.1 RESTful的概念
RESTful:遵守了REST原则的web服务。REST式的web服务是一种ROA(The Resource-Oriented Architecture,面向资源的架构),资源(Resource)是核心。

互联网中,客户端与服务端的交互,传递的只是资源的表述。上网的过程就是调用资源的URI,来获取资源不同表现形式的过程。这种互动只能使用无状态的HTTP协议。因此,服务端必须保存所有的状态。客户端可以使用HTTP的操作,如GET/POST/PUT/DELETE,使服务器上的资源发生状态转化(State Transfer),即表述性状态转移。

URI(Uniform Resource Identifier):统一资源标识符,包含URL(Uniform Resource Locator,统一资源定位符)和URN(Universal Resource Name,统一资源名称)。

2.2 RESTful的运用
以SpringBoot为例,它全面支持开发RESTful程序,通过不同的注解支持不同的请求:

@GetMapping:处理GET请求,查询资源;

示例1:
REST与RESTful学习
示例2:
REST与RESTful学习

相关推荐