什么是RESTful先看REST是什么意思 , 英文Representational state transfer 表述性状态转移 其实就是对 资源 的表述性状态转移 。
简单的说:RESTful是一种架构的规范与约束、原则 , 符合这种规范的架构就是RESTful架构 。
资源的地址 在web中就是URL (统一资源标识符)
资源是REST系统的核心概念 。所有的设计都是以资源为中心
结合项目怎么识别资源
1.商品加入购物车 购物车
2.提交订单 订单
3.创建用户 用户
围绕资源进行 添加 , 获取 , 修改 , 删除 , 以及对符合特定条件的资源进行列表操作。针对资源设计接口
RESTful 架构的核心规范与约束:统一接口
分为四个子约束:
1.每个资源都拥有一个资源标识 , 每个资源的资源标识可以用来唯一地标明该资源
2.消息的自描述性
3.资源的自描述性 。
4.HATEOAS Hypermedia As The Engine Of Application State(超媒体作为应用状态引擎)
即客户只可以通过服务端所返回各结果中所包含的信息来得到下一步操作所需要的信息 , 如到底是向哪个URL发送请求等 。也就是说 , 一个典型的REST服务不需要额外的文档标示通过哪些URL访问特定类型的资源 , 而是通过服务端返回的响应来标示到底能在该资源上执行什么样的操作
目的:实现客户端无需借助任何文档即能调用到所有的服务器资源
三、资源的URL设计
1.通过URL来表示资源
资源分为主资源与子资源
因为主资源是一类独立的资源 所以主资源应直接放在相对路径下:例如
若要表示主资源的实例:如果实例的ID=1 , 则这样表示: /goods/1
子资源:
一个实例的子资源可能是一个集合也可能是一个单一的子资源
子资源为图片集合:/goods/1/pictures
子资源为商品折扣的单子子资源:/goods/1/discount
2.单数 vs. 复数
获取用户1的信息 , 哪种方式更符合RESTful?
/api/users/1
/api/user/1
3.相对路径 vs. 请求参数
极光的RESTful API:
获取用户信息 GET /v1/users/{username} 参数放在路径中
VS
获取用户信息 GET /v1/users?username=xxxxx 拼接的方式
获取应用管理员列表 GET /v1/admins?start={start}count={count} ?后拼接参数的方式:这种方式一般作为过滤资源
4.使用合适的动词 get delete put post
选择请求接口的方式: get delete
PUT 在服务器更新资源(客户端提供改变后的完整资源) 。
POST 在服务器新建一个资源
5.使用标准的状态码
GET
hello world!!!
RESTful接口详解REST是英文representational state transfer(表象性状态转变)或者表述性状态转移;Rest是web服务的一种架构风格;使用HTTP,URI,XML,JSON,HTML等广泛流行的标准和协议;轻量级,跨平台,跨语言的架构设计;它是一种设计风格,不是一种标准,是一种思想
Rest架构的主要原则:
符合REST原则的架构方式即可称为RESTful
什么是Restful:
对应的中文是rest式的;Restful web service是一种常见的rest的应用,是遵守了rest风格的web服务;rest式的web服务是一种ROA(The Resource-Oriented Architecture)(面向资源的架构).
为什么会出现Restful
在Restful之前的操作:
GET根据用户id查询用户数据
POST 新增用户
POST 修改用户信息
GET/POST 删除用户信息
RESTful用法:
GET根据用户id查询用户数据
POST 新增用户
PUT 修改用户信息
DELETE 删除用户信息
之前的操作是没有问题的,大神认为是有问题的,有什么问题呢?你每次请求的接口或者地址,都在做描述,例如查询的时候用了query,新增的时候用了save,其实完全没有这个必要,我使用了get请求,就是查询.使用post请求,就是新增的请求,我的意图很明显,完全没有必要做描述,这就是为什么有了restful.
如何使用:
SpringMVC实现restful服务:
SpringMVC原生态的支持了REST风格的架构设计
所涉及到的注解:
---@RequestMapping
---@PathVariable
---@ResponseBody
HTTP相应状态码:
文章插图
Flask扩展系列1--Restful1、首先了解什么是 restful 架构?
rest :representational state transfer表现层状态转化
资源 :网络上的一个实体 , 或者说一个具体的信息 。每种资源对应一个特定的URI , 要获取这个资源 , 就是访问这个URI就可以
秒懂生活扩展阅读
- 和平精英抽奖玛莎拉蒂在哪里抽
- 凸四边形和凹四边形的区别 凸四边形
- 蜱虫和阴虱的图片 寄生虫图片
- 李明朝 丰县 李明朝
- 问号的作用 句号的作用
- 空压机安装及验收规范是什么
- 通天大圣和齐天大圣 通天大圣
- 对于商品的营销和宣传有什么区别
- 市和县哪个级别高
- 鸣人和佐助封印大筒木是第几集