一、swagger
1.依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
2.springBoot整合swagger
package com.imooc.miaosha.config;
import io.swagger.annotations.ApiOperation;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket productApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))//添加ApiOperiation注解的被扫描
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder().title("swagger和springBoot整合").description("swagger的API文档")
.version("1.0").build();
}
}
二、API接口
1.综述
(1)统一输出参数
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
code | int | 是 | 状态码 |
msg | String | 是 | 返回提示 |
date | 任意类型 | 否 | 返回信息 |
(2)状态返回
code | msg |
---|---|
500100 | 服务端异常 |
500101 | 参数校验异常:%s |
500210 | Session不存在或已经失效 |
500211 | 登陆密码不能为空 |
500212 | 手机号不能为空 |
500213 | 手机号格式错误 |
500214 | 手机号不存在 |
500215 | 密码错误 |
500216 | 验证码为空 |
500217 | 验证码错误 |
500500 | 商品已经秒杀完毕 |
500501 | 不能重复秒杀 |
0 | 成功 |
204 | No Content |
401 | Unauthorized |
403 | Forbidden |
2.密码登录
(1)主页
info | value |
---|---|
接口 | /login/to_login |
描述 | 登录主页 |
验证 | session |
方法 | GET/POST |
数据 | Json |
Response
参数名 | 类型 | 是否必需 | 说明 |
---|---|---|---|
login | String | 是 | 登录的html页面 |
Success
200(login.html 界面)
Fail
204 401 403
(2)登录
info | value |
---|---|
接口 | /login/do_login |
描述 | 开始登录,判断账号密码是否正确,错误提示错误信息,成功跳转页面 |
验证 | session |
方法 | GET/POST |
数据 | Json |
Request
参数名 | 类型 | 是否必需 | 说明 |
---|---|---|---|
response | HttpServletResponse | 是 | 封装了向客户端发送数据、发送响应头,发送响应状态码的方法 |
loginVo | LoginVo | 是 | 存储前台输入手机号、密码的数据 |
mobile | String | 是 | 手机号 |
password | String | 是 | 密码 |
Response
code msg date
Success
0
Fail
500101 500215
3.手机登录
(1)手机号发送验证码
info | value |
---|---|
接口 | /login/SendSms |
描述 | 通过阿里云短信服务API发送验证码 |
验证 | session |
方法 | GET/POST |
数据 | Json |
Request
参数名 | 类型 | 是否必需 | 说明 |
---|---|---|---|
response | HttpServletResponse | 是 | 封装了向客户端发送数据、发送响应头,发送响应状态码的方法 |
loginVo | LoginVo | 是 | 存储前台输入手机号、密码的数据 |
mobile | String | 是 | 手机号 |
Response
code msg date
Success
0
Fail
500101
(2)手机号登录
info | value |
---|---|
接口 | /login/yzmSms |
描述 | 开始登录,验证手机号、验证码是否正确 |
验证 | session |
方法 | GET/POST |
数据 | Json |
Request
参数名 | 类型 | 是否必需 | 说明 |
---|---|---|---|
mobile | String | 是 | 手机号 |
password | String | 是 | 密码 |
Response
code msg date
Success
200
Fail
500101 500215
4.QQ登录
(1)QQ登录url
info | value |
---|---|
接口 | /getQQCode |
描述 | 获得跳转到qq登录页的url,前台直接连接访问 |
验证 | session |
方法 | GET/POST |
数据 | Json |
Request
参数名 | 类型 | 是否必需 | 说明 |
---|---|---|---|
model | Model | 是 | 将数据返回前端界面 |
Response
参数名 | 类型 | 是否必需 | 说明 |
---|---|---|---|
login | String | 是 | 登录界面 |
url | String | 是 | QQ登录的链接 |
Success
200
Fail
204 401 403
(2)跳转QQ登录界面进行登录
info | value |
---|---|
接口 | /QQLogin |
描述 | QQ进行登录 |
验证 | session |
方法 | GET/POST |
数据 | Json |
Request
参数名 | 类型 | 是否必需 | 说明 |
---|---|---|---|
code | int | 是 | 用户授权获得code |
Response
参数名 | 类型 | 是否必需 | 说明 |
---|---|---|---|
userInfo | QQUserInfo | 是 | 用户授权信息 |
Success
200
Fail
204 401 403
5.商品页面
(1)商品列表
info | value |
---|---|
接口 | /goods/to_list |
描述 | 显示商品列表 |
验证 | session |
方法 | GET/POST |
数据 | Json |
Request
参数名 | 类型 | 是否必需 | 说明 |
---|---|---|---|
user | MiaoshaUser | 是 | 用户的信息 |
model | Model | 是 | 将数据返回前端界面 |
Response
参数名 | 类型 | 是否必需 | 说明 |
---|---|---|---|
goodsList | String | 是 | 商品信息展示的页面 |
goodsList | List | 是 | 数据中存储的商品信息 |
userInfo | Miaosha | 是 | 用户信息 |
Success
200
Fail
204 401 403
(2)商品详情
info | value |
---|---|
接口 | /goods/to_detail |
描述 | 显示商品详细信息 |
验证 | session |
方法 | GET/POST |
数据 | Json |
Request
参数名 | 类型 | 是否必需 | 说明 |
---|---|---|---|
user | MiaoshaUser | 是 | 用户的信息 |
model | Model | 是 | 将数据返回前端界面 |
goodsId | long | 是 | 数据库中商品的主键编号 |
Response
参数名 | 类型 | 是否必需 | 说明 |
---|---|---|---|
goods_detail | String | 是 | 商品详情信息展示页面 |
miaoshaStatus | int | 是 | 秒杀的状态码 |
remainSeconds | int | 是 | 秒杀时间 |
goods | GoodsVo | 是 | 根据goodsId获取商品信息 |
user | MiaoshaUser | 是 | 用户的信息 |
code | int | 是 | 状态码 |
msg | String | 是 | 返回提示 |
date | 任意类型 | 否 | 返回信息 |
Success
200
Fail
500100
6.秒杀
info | value |
---|---|
接口 | /miaosha/do_miaosha |
描述 | 在用户登录后,可以进行秒杀操作 |
验证 | session |
方法 | GET/POST |
数据 | Json |
Request
参数名 | 类型 | 是否必需 | 说明 |
---|---|---|---|
user | MiaoshaUser | 是 | 用户的信息 |
model | Model | 是 | 将数据返回前端界面 |
goodsId | long | 是 | 数据库中商品的主键编号 |
Response
参数名 | 类型 | 是否必需 | 说明 |
---|---|---|---|
order_detail | String | 是 | 秒杀订单详情界面 |
login | String | 是 | 登录界面 |
orderInfo | OrderInfo | 是 | 秒杀订单信息 |
goods | GoodsVo | 是 | 商品信息 |
user | MiaoshaUser | 是 | 用户的信息 |
code | int | 是 | 状态码 |
msg | String | 是 | 返回提示 |
date | 任意类型 | 否 | 返回信息 |
Success
200
Fail
500500 500501