码迷,mamicode.com
首页 > 其他好文 > 详细

REST与RESTful学习

时间:2020-06-09 09:50:02      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:状态转化   path   arch   name   rsa   创建   全面   post   通过   

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请求,查询资源;br/>@PostMapping:处理POST请求,创建资源;
@PutMapping:处理PUT请求,替换资源;
br/>@PatchMapping:处理PATCH请求,部分修改资源;
@DeleteMapping:处理DELETE请求,删除资源。
br/>在Controller中,映射参数的注解:
@PathVariable:用于接收URL路径上的参数,如URL/1;
@ModelAttribute:用于接收URL?后的参数,如URL?id=1&name=ace,然后直接转换为实体对象。

示例1:
技术图片
示例2:
技术图片

REST与RESTful学习

标签:状态转化   path   arch   name   rsa   创建   全面   post   通过   

原文地址:https://blog.51cto.com/14819639/2502709

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!