API 接口服务化的设计哲学
- 调式工具与技巧
- 后端基础打底框架
- 脱离版本库的环境参数验证
- 一致化的 HTTP response 返回
- 入参检验
- API swagger 文档化
- 数据库 ORM
- 基于 JWT 的用户身份认证
- 数据缓存
- 日志系统
- 单元测试
大多数的商业项目,都离不开一些常见的业务功能
- 用户身份的建立
- 服务接口针对用户的验证
- 获取列表类数据
- 分页列表数据
- 获取某一条数据想请个
- 提交业务数据
总而言之,用户权鉴和业务的增删查改(CURD)
- 单业务模块化
- 模块 200 行原则
- 同类模块分组化
- 配置文件分离
案例实现的目标业务流程
- 用户访问店铺列表,展示店铺,名称,图标 URL
- 用户访问目标店铺的商品列表,展示商品名称,图标 URL,商品单价
- 用户授权登录,获取用户姓名,openid,性别
- 选择需要选购的商品和数量
- 创建购物订单
- 创建支付订单
- 支付订单
- 完成订单
方法 | 描述 | 举例 | 资源路径 |
---|---|---|---|
GET (SELECT) | 从服务器取出资源,一个或者多个 | 获取订单列表 | /orders |
POST (CREATE) | 在服务器创建一个资源 | 创建一个订单 | /order |
PUT (UPDATE) | 在服务器啊更新资源(客户端提供更新后的完整资源) | 修改订单信息 | /order/:orderId |
PATCH (UPDATE) | 在服务器更新资源(客户端提供改变的属性) | 修改订单的信息 | /order/:orderId |
DELETE (DELETE) | 在服务器删除资源 | 删除一条订单记录 | /order/:orderId |
创建database
$ node_modules\.bin\sequelize db:create
创建表
$ node_modules\.bin\sequelize db:migrate
填充数据
$ node_modules/.bin/sequelize db:seed:all