json-server 的基本使用与RESTFul 风格的api

json-server 的基本使用

我们知道 json-server 是一个 npm 管理的包,可以提供前端提供mock的功能。,安装方法及生成数据在前面已经说过,在次不多做解释,安装好之后,它会提供一个 json-server 的全局命令,基于该命令,我们就可以快速的mock数据。
但是我们发现 json-server 的接口的使用方式和其他的一些接口的使用方式稍微有一些不一样。

我们常见的接口:都是 get 或者 post 请求一个 url 地址即可
json-server 的接口:除了常见的 get 和 post 请求,还提供了 put ,delete 等请求方式,通过 请求方式 + 请求 url 地址, 我们可以对数据进行操作(也就相当于是对数据操作的一个方法)

json-server 对数据的操作

之前我们说过 json-server 接口的使用完全等同于 jsonplaceholder,我们用 get 请求方式可以对数据进行 查询,分页,排序等操作,这个在 jsonplaceholder 已经证明过了,除了get 方式,我们还可以用 post 请求方式对数据进行增加,用 delete 请求方式对数据进行删除,用 put 方式对数据进行更新,这个就像是用 请求方式 + 请求地址 对数据进行curd 操作,就像是一个方法一样

注意:向服务器发送请求的话,我们浏览器只有 get 和 post,如果要用其他请求方式必须使用第三方的接口调试工具(这里我使用的是 postman)

get 请求方式可以对数据进行 查询,分页,排序等操作在 jsonplaceholder 已经证明过,现在我们来看一下其他的请求方式及操作( json-server 生成的数据,接口地址:http://localhost:3000/users)

get 请求获得数据

在这里插入图片描述

post + 地址 进行增加数据

在这里插入图片描述
在这里插入图片描述

delete + 地址 进行删除数据

在这里插入图片描述
在这里插入图片描述
以上证明了用 http请求方式 + 请求url地址 的方法整的可以操作我们的数据,所以我们把对于这种使用 http请求方式 + 请求url地址 形成的 api ,我们一般叫做 RESTFul 风格的api,RESTFul 风格的api底层遵循的是 REST 架构这种协议。

RESTFul api

要知道什么是 RSETful api,首先要知道什么是 REST

什么是 REST

REST,表示性状态转移(representation state transfer)。简单来说,就是用URI表示资源(我们获取数据的接口),用HTTP方法(GET, POST, PUT, DELETE)表征对这些资源的操作。也就是我们通过用 HTTP方法 + 请求路径 对我们数据进行一系列的操作

什么是 RSETful api

RSETful api: 使用的 RESFTFul 风格写的api
现在有很多的移动设备,多端应用特别的多,服务器一般都是提供一套数据,由前端去请求,但是有些页面之间所需要的数据是不一样的,如果不用 RSETful api 的话,我们就要定义多个 请求路径 去获取处理后的数据,比如说我们的 详情页和增加用户
请求详情页数据:http://localhost.com/user/1 + post/get
用户的增加:http://localhost.com/user/add + get

可以看到,它们的请求地址是不一样的,由我们自己定义,需要为每个平台的数据请求定义相应的返回格式,如果使用 RSETful api 的话
删除:delete + http://localhost.com/1
更新:put + http://localhost.com/1 + 更新的数据

它们的 请求地址都是一样的,服务端就只需要定义一个统一的响应接口就好了
个人理解它和我们普通的 请求接口一样,也是一个接口,只不过他是结合了 请求方式 的一个接口,可以对数据进行操作而已

什么是资源路由

在写这种 RESTFul api 的时候,我们需要遵循 REST 架构,(REST 架构:规定使用http的方式去描述对资源的操作的行为,使用的url地址去标识一个资源的详细的位置
在上面也说了用URI表示资源,这个 url 就叫做资源路由

基准地址: http://api.xxx.com/api/v1
完整的 api 地址: 基准地址 + 模块地址 + 具体的操作

如:
用户模块生成的完整的url地址 (resources 资源路由)
用户列表:http://api.xxx.com/api/v1/users/
用户的详情:http://api.xxx.com/api/v1/users/1
用户的删除:delete + http://api.xxx.com/api/v1/users/1

总结:仅是个人理解,我认为 RSETful api 其实就是利用请求方式 + 地址 + 条件 来获取我们需要的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值