一 接口编程
接口
其实就是规范,比如电脑的usb接口,设计好usb标准之后,做电脑和做外设的就可以分别去生产,生产好之后直接插上就可以使用了
接口编程概念
**前后端按照约定好的规范(接口文档)进行编程**<br /> **一般来说接口编程是基于HTTP协议, ****通过URL请求对应的服务器资源(Resource)****.**<br /> 就是前后端按照约定好的规则(接口文档)进行编程,编写好之后,联调就行了<br /> 具体实现,就是http协议中的一个请求和响应<br /> 前端通过请求的url来指定我需要哪种服务(请求方式)和数据<br /> 后台收到这个请求之后,根据url指定的内容,产生对应的响应,返回给前端
接口編程作用
**实现前后端分离, 协同开发**
二 restful接口设计
概念
一种接口设计风格.主要用于有客户端和服务端交互的软件
六要素
前端<br /> 资源路径:请求的url<br /> HTTP动词:请求方式:method<br /> 过滤信息:请求参数queryString<br /> 后端<br /> 状态码:status-code<br /> 错误信息:error<br /> 返回结果:result
使用
GET:从服务器获取资源(一个或者多个)<br /> POST:在服务器新建一个资源<br /> PUT:在服务器更新资源<br /> DELETE:从服务器删除资源
restful设计(接口设计)
服务端(使用data.json作为数据源运行)
1,使用npm i json-server -g(全局安装restful服务端)<br /> 2,新建一个data.json作为数据源<br /> 3,启动服务端 json-server -w data.json<br />
前端(设计restful风格的请求)
查<br /> 查询所有 GET [http://localhost:3000/Users](http://localhost:3000/Users)<br /> 查询一个 GET [http://localhost:3000/Users/3](http://localhost:3000/Users/3)<br /> 新增<br /> POST [http://localhost:3000/Users](http://localhost:3000/Users) 都有请求体<br /> 修改<br /> PUT [http://localhost:3000/Users/2](http://localhost:3000/Users/2) 都有请求体<br /> 删除<br /> DELETE [http://localhost:3000/Users/1](http://localhost:3000/Users/1)
三 API 接口文档
API 接口说明
- 接口基准地址:
http://localhost:3000
- 或者接口基准地址:
http://www.brojie.cn:5051/api/v1
或者http://api.brojie.cn:5051/v1
- 使用 HTTP Status Code 标识状态
-
支持的请求方法
GET(SELECT):从服务器取出资源(一项或多项)。
- POST(CREATE):在服务器新建一个资源。
- PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
- DELETE(DELETE):从服务器删除资源。
通用返回状态说明
| 状态码 | 含义 | 说明 | | —- | —- | —- | | 200 | OK | 请求成功 | | 201 | CREATED | 创建成功 | | 204 | DELETED | 删除成功 | | 400 | BAD REQUEST | 请求的地址不存在或者包含不支持的参数 | | 401 | UNAUTHORIZED | 未授权 | | 403 | FORBIDDEN | 被禁止访问 | | 404 | NOT FOUND | 请求的资源不存在 | | 422 | Unprocesable entity | [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误 | | 500 | INTERNAL SERVER ERROR | 内部错误 | | | | |
用户管理
用户数据列表
- 请求路径:users
- 请求方法:get
响应参数 | 参数名 | 参数说明 | 备注 | | —- | —- | —- | | id | id | | | name | 用户名 | | | age | 年龄 | |
响应状态码 | 参数名 | 参数说明 | 备注 | | —- | —- | —- | | status | 响应码 | 200: 成功 |
响应数据
[
{
"name": "鸣人",
"age": "12",
"id": 1
},
{
"id": 2,
"name": "佐助",
"age": 11
},
{
"id": 3,
"name": "自来也",
"age": 52
},
{
"id": 4,
"name": "卡卡西",
"age": 28
}
]
添加用户
请求路径:users
- 请求方法:post
请求参数 | 参数名 | 参数说明 | 备注 | | —- | —- | —- | | name | 用户名称 | 不能为空 | | age | 用户年龄 | 不能为空 |
响应参数 | 参数名 | 参数说明 | 备注 | | —- | —- | —- | | id | 用户 ID | | | name | 用户名 | | | age | 年龄 | |
响应状态码 | 参数名 | 参数说明 | 备注 | | —- | —- | —- | | status | 响应码 | 201: 成功 |
响应数据
{
"name": "xiaoming",
"age": "20",
"id": 5
}
编辑用户
请求路径:users/:id
- 请求方法:put
请求参数 | 参数名 | 参数说明 | 备注 | | —- | —- | —- | | id | 用户 id | 不能为空
参数是url参数:id
|响应参数 | 参数名 | 参数说明 | 备注 | | —- | —- | —- | | id | 用户 ID | | | name | 用户名 | | | age | 年龄 | |
响应数据
// 200表示成功 404表示失败
{
"name": "xiaoming",
"age": "20",
"id": 5
}
删除用户
请求路径:users/:id
- 请求方法:delete
请求参数 | 参数名 | 参数说明 | 备注 | | —- | —- | —- | | id | 用户 id | 不能为空
参数是url参数:id
|响应参数
- 响应数据
// 200 表示成功 404表示失败
{
}
四 解决端口占用
打开cmd
输入 netstat -anno 就可以查看程序的端口 和 最后一列PID
然后打开 任务管理器->详细信息->PID 找到对应端口,右键强制停止