课程名称: Node.js工程师养成计划
课程章节: Node框架实战篇 - Express 中间件与RESTful API 接口规范 (2)
课程讲师: 北瑶
课程内容:
Restful API 接口设计规范
-
为什么要使用 RESTful 架构?
- REST 是 Representational State Transfer 的缩写,如果一个架构符合 REST 原则,就称它为 RESTful 架构
- RESTful 架构可以充分的利用 HTTP 协议的各种功能,是 HTTP 协议的最佳实践
- RESTful API 是一种软件架构风格、设计风格,可以让软件更加清晰,更简洁,更有层次,可维护性更好
-
RESTful API 请求设计
- 请求 = 动词 + 宾语
- 动词 使用五种 HTTP 方法,对应 CRUD 操作。
- 宾语 URL 应该全部使用名词复数,可以有例外,比如搜索可以使用更加直观的 search 。
- 过滤信息(Filtering) 如果记录数量很多,API应该提供参数,过滤返回结果。 ?limit=10 指定返回记录的数量 ?offset=10 指定返回记录的开始位置。
RESTful API 响应设计
- 使用 HTTP 的状态码
- 1xx 相关信息
- 2xx 操作成功
- 3xx 重定向
- 4xx 客户端错误
- 5xx 服务器错误
JWT 用户身份认证
安装: npm install jsonwebtoken
const jwt = require('jsonwebtoken')
// 加密 jwt.sign('加密对象', '私钥', { expiresIn: '设置时效' })
let d = jwt.sign({foo: 'hello'}, '555');
console.log(d); // token 唯一身份认证
// 验证token
let d = jwt.verify('生成的token', '私钥')
console.log(d); // 返回解码 + iat: 'token时效时间戳'
安装插件自动生成随机私钥 uuid
vscode插件名: UUID Generator
ctrl + p 输入>uuid
拿到 token 前端放入请求头Authorization
中, 进行验证身份获取数据库数据
学习心得
通过这章学习, 明白了后端如何生成token去验证每个用户身份信息