一 接口编程

接口
其实就是规范,比如电脑的usb接口,设计好usb标准之后,做电脑和做外设的就可以分别去生产,生产好之后直接插上就可以使用了

接口编程概念

  1. **前后端按照约定好的规范(接口文档)进行编程**<br /> **一般来说接口编程是基于HTTP协议, ****通过URL请求对应的服务器资源(Resource)****.**<br /> 就是前后端按照约定好的规则(接口文档)进行编程,编写好之后,联调就行了<br /> 具体实现,就是http协议中的一个请求和响应<br /> 前端通过请求的url来指定我需要哪种服务(请求方式)和数据<br /> 后台收到这个请求之后,根据url指定的内容,产生对应的响应,返回给前端

接口編程作用

  1. **实现前后端分离, 协同开发**

二 restful接口设计

概念

  1. 一种接口设计风格.主要用于有客户端和服务端交互的软件

六要素

  1. 前端<br /> 资源路径:请求的url<br /> HTTP动词:请求方式:method<br /> 过滤信息:请求参数queryString<br /> 后端<br /> 状态码:status-code<br /> 错误信息:error<br /> 返回结果:result

使用

  1. GET:从服务器获取资源(一个或者多个)<br /> POST:在服务器新建一个资源<br /> PUT:在服务器更新资源<br /> DELETE:从服务器删除资源

restful设计(接口设计)

服务端(使用data.json作为数据源运行)

  1. 1,使用npm i json-server -g(全局安装restful服务端)<br /> 2,新建一个data.json作为数据源<br /> 3,启动服务端 json-server -w data.json<br />

前端(设计restful风格的请求)

  1. 查<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 标识状态
  • 数据返回格式统一使用 JSON

    支持的请求方法

  • 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: 成功 |

  • 响应数据

    1. [
    2. {
    3. "name": "鸣人",
    4. "age": "12",
    5. "id": 1
    6. },
    7. {
    8. "id": 2,
    9. "name": "佐助",
    10. "age": 11
    11. },
    12. {
    13. "id": 3,
    14. "name": "自来也",
    15. "age": 52
    16. },
    17. {
    18. "id": 4,
    19. "name": "卡卡西",
    20. "age": 28
    21. }
    22. ]

    添加用户

  • 请求路径:users

  • 请求方法:post
  • 请求参数 | 参数名 | 参数说明 | 备注 | | —- | —- | —- | | name | 用户名称 | 不能为空 | | age | 用户年龄 | 不能为空 |

  • 响应参数 | 参数名 | 参数说明 | 备注 | | —- | —- | —- | | id | 用户 ID | | | name | 用户名 | | | age | 年龄 | |

  • 响应状态码 | 参数名 | 参数说明 | 备注 | | —- | —- | —- | | status | 响应码 | 201: 成功 |

  • 响应数据

    1. {
    2. "name": "xiaoming",
    3. "age": "20",
    4. "id": 5
    5. }

    编辑用户

  • 请求路径:users/:id

  • 请求方法:put
  • 请求参数 | 参数名 | 参数说明 | 备注 | | —- | —- | —- | | id | 用户 id | 不能为空 参数是url参数:id |

  • 响应参数 | 参数名 | 参数说明 | 备注 | | —- | —- | —- | | id | 用户 ID | | | name | 用户名 | | | age | 年龄 | |

  • 响应数据

    1. // 200表示成功 404表示失败
    2. {
    3. "name": "xiaoming",
    4. "age": "20",
    5. "id": 5
    6. }

    删除用户

  • 请求路径:users/:id

  • 请求方法:delete
  • 请求参数 | 参数名 | 参数说明 | 备注 | | —- | —- | —- | | id | 用户 id | 不能为空参数是url参数:id |

  • 响应参数

  • 响应数据
    1. // 200 表示成功 404表示失败
    2. {
    3. }

    四 解决端口占用

    1. 打开cmd
    2. 输入 netstat -anno 就可以查看程序的端口 最后一列PID
    3. 然后打开 任务管理器->详细信息->PID 找到对应端口,右键强制停止