秒杀系统API接口设计说明书
1 前言
1.1 编写目的
该项目采用前后端分离的技术,编写该系统说明书是为了更好的明确该系统功能和进行规范化开发,同时为前后端整合、后期项目验收做重要的参考文档。
1.2 背景
该API接口设计说明书描述的是秒杀系统。
2 综述
2.1 统一输出参数
表2-1 Response参数信息
参数名 类型 是否必须 描述
code int 是 状态码
msg String 是 返回提示
data T 否 返回信息
注:T为泛型表示任意类型
2.2 必须登录才能访问的接口
表2-2登录才能访问接口
接口名称 描述
/miaosha/do_miaosha 秒杀功能
2.3 错误返回码列表
表2-3 错误返回码列表
code msg
500100 服务端异常
500101 参数校验异常:%s
500210 Session不存在或已经失效
500211 登录密码不能为空
500212 手机号不能为空
500213 手机号格式错误
500214 手机号不存在
500215 密码错误
500216 验证码为空
500217 验证码错误
500500 商品已经秒杀完毕
500501 不能重复秒杀
注:%s后端将自动填充,前端接收到的为完整字符串如:“参数校验异常:手机号码格式有误”
3 用户接口
3.1用户登录
接口:/login/do_login
描述:用户登录
校验:session
方法:get/post
表3-1 用户登录Request参数
参数名 类型 是否必须 描述
mobile String 是 手机号
password String 是 密码
verifyInput String 否 验证码
ifyzm int 否 是否需要验证码
注:当ifyzm为0时需要填写验证码,当当ifyzm为1时不需要填写验证码
表3-2 用户登录Response参数
参数名 类型 是否必须 描述
code int 是 状态码
msg String 是 返回提示
data boolean 是 是否登录成功
登录成功后将返回token记录到cookie
4 商品接口
4.1 商品列表接口
接口:/goods/ to_list
描述:商品列表
校验:session
方法:get/post
Requst不需要传入参数,返回商品列表信息,通过Model 进行数据传递goodsList
表4-1 商品列表Response参数
参数名 类型 是否必须 描述
goodsList List<GoodsVo> 是 商品列表信息
goods. goodsName String 是 商品名字
goods. goodsImg String 是 商品照片
goods. goodsPrice Double 是 商品价格
goods. miaoshaPrice Double 是 秒杀价格
goods. stockCount Integer 是 库存
goods. id Long 是 商品id
4.2 商品详情接口
接口:/goods/to_detail/{goodsId}
描述:商品详情
校验:session
方法:get/post
表4-2 商品详情Request参数
参数名 类型 是否必须 描述
goodsId long 是 商品id
返回商品详情信息,通过Model 进行数据传递goods
表4-3 商品详情Response参数
参数名 类型 是否必须 描述
goods.startDate Date 是 秒杀开始时间
goods. goodsName String 是 商品名字
goods. goodsImg String 是 商品照片
goods. goodsPrice Double 是 商品原价格
goods. miaoshaPrice Double 是 秒杀价格
goods. stockCount Integer 是 库存
goods. id Long 是 商品id
miaoshaStatus int 是 秒杀状态
remainSeconds int 是 秒杀倒计时(s)
注:秒杀状态:0表示还未开始、1表示进行中、2表示秒杀结束
5 秒杀接口
5.1秒杀
接口:/miaosha/ do_miaosha
描述:秒杀
校验:session
方法:get/post
表5-1 商品详情Request参数
参数名 类型 是否必须 描述
goodsId long 是 商品id
秒杀结束返回订单信息和商品信息,通过Model 进行数据传递goods、orderInfo
表5-2 用户登录Response参数
参数名 类型 是否必须 描述
goods. goodsName String 是 商品名字
goods. goodsImg String 是 商品照片
orderInfo.goodsPrice Double 是 订单价格
orderInfo.createDate Date 是 下单时间
orderInfo.status Integer 是 订单状态
注:订单状态:0未支付、1待发货、2已发货、3已收货、4已退款、5已完成