带你了解REST API 的基本用法
源码地址 REST 的核心概念
- 互联网上所有可以访问的内容,都是资源。
- 服务器保存资源,客户端请求资源。
- 同一个资源,有多种表现形式。
- 协议本身不带有状态,通信时客户端必须通过参数,表示请求不同状态的资源。
- 状态转换通过HTTP动词表示。
具体操作类型–常用的HTTP动词有下面五个(括号里是对应的SQL命令)。
- GET(SELECT):从服务器取出资源(一项或多项)。
- POST(CREATE):在服务器新建一个资源。
- PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
- PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
- DELETE(DELETE):从服务器删除资源。
一些例子
- GET /posts:列出所有文章
- POST /posts:新建一篇文章
- GET /posts/ID:获取某篇指定文章的信息
- PUT /posts/ID:更新某篇指定文章的信息(提供该文章的全部信息)
- PATCH /posts/ID:更新某个指定动物园的信息(提供该文章的部分信息)
- DELETE /posts/ID:删除某篇文章
- GET /posts/ID/sections:列出某个文章的所有章节
- DELETE /posts/ID/sections/ID:删除某个指定动物园的指定动物
实验操作步骤 (1) 命令行进入rest-api目录,执行下面的命令。
$ npm init -y
$ npm install -S json-server
(2) 在项目根目录下,新建一个 JSON 文件db.json。
{
"posts": [
{ "id": 1, "title": "angular", "author": "cnode" }
],
"comments": [
{ "id": 1, "body": "angular study commen", "postId": 1 }
],
"profile": { "name": "cnode" }
}
(3) 打开package.json,在scripts字段添加一行。
"scripts": {
"start": "json-server db.json",
"test": "echo \"Error: no test specified\" && exit 1"
},
(4) 命令行下执行下面的命令,启动服务。
$ npm run start
!
(5)查询数据(打开 Chrome 浏览器的 Postman 应用)
1. [ get ] 向http://127.0.0.1:3000/posts 2. [ get ] 向http://127.0.0.1:3000/posts/1
(6)添加数据
1. [ post ] 向http://127.0.0.1:3000/comments,[注意,数据体Body要选择x-www-form-urlencoded编码,然后依次添加下面两个字段]
body: "i like angular"
postId: 1
2. [ get ] 向http://127.0.0.1:3000/comments,查看所有评论
(7)修改数据
1. [ put ] 向http://127.0.0.1:3000/comments/2,[注意,数据体Body要选择x-www-form-urlencoded编码,然后添加下面的字段]
body: "hello angulart"
2. [ get ] 向http://127.0.0.1:3000/comments,查看修改后的结果
(8)删除数据
1.[ delete ] 向http://127.0.0.1:3000/comments/2
2.[ get ] 向http://127.0.0.1:3000/comments查看结果
欢迎大家交流