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请求,查询资源;
  • @PostMapping:处理POST请求,创建资源;
  • @PutMapping:处理PUT请求,替换资源;
  • @PatchMapping:处理PATCH请求,部分修改资源;
  • @DeleteMapping:处理DELETE请求,删除资源。

在Controller中,映射参数的注解:

  • @PathVariable:用于接收URL路径上的参数,如URL/1;
  • @ModelAttribute:用于接收URL?后的参数,如URL?id=1&name=ace,然后直接转换为实体对象。

示例1:

方法URL功能描述
GET/users获取用户列表
GET/users/1获取id为1的用户
POST/users创建一个用户
PUT/users/1替换id为1的用户
PATCH/users/1修改id为1的用户
DELETE/users/1删除id为1的用户

示例2:

方法URL功能描述
GET/users/1/files获取用户1的文件列表
GET/users/1/files/3获取用户1的文件3
POST/users/1/files在用户1下创建一个文件
PUT/users/1/files/3替换用户1的文件3
PATCH/users/1/files/3修改用户1的文件3
DELETE/users/1/files/3删除用户1的文件3
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值