一、图片验证码接口
1、请求方式
GET /image_codes/(?P<image_code_id>[\w-]+)/
2、请求参数
image_code_id
uuid字符串
图片验证码编号
必须存在
3、返回数据
验证码图片
4、流程
(1)、浏览器生成一个uuid,也就是image_code_id,通过路由传入到后端get方法中
(2)、后端生成图片以及验证码文本,文本写入了redis中,图片传到前端显示
二、短信验证码接口
1、请求方式
GET /sms_codes/(?P<mobile>1[3-9]\d{9})/?image_code_id=xxx&text=xxx
2、请求参数
参数 类型 是否必须 说明
mobile str 是 手机号
image_code_id uuid字符串 是 图片验证码编号
text str 是 用户输入的图片验证码
3、返回数据
JSON格式 message
4、流程
(1)、mobile手机号做为参数,image_code_id和text以请求的查询字符串格式发送至后端get方法接收
(2)、用redis中的text(图片验证码)和用户输入的验证码进行比较
(3)、image_code_id和text无误,就开始生成短信验证码,将短信验证码写入数据库,并返回至前端
三、判断用户名存在接口
1、请求方式
GET usernames/(?P<username>\w{5,20})/count/
2、请求参数
参数 类型 是否必传 说明
username str 是 用户名
3、返回数据
{
"username": "itcast",
"count": "1"
}
4、流程
(1)、用户名是否存在的判断交给前端实现,后端只需要返回用户名的数量
(2)、前端传入用户名,通过路由传给后端,后端通过User对象的模型类去查询该用户名的数量,并返回数量和用户名至前端,前端进行判断
四、判断手机号存在接口
1、请求方式
GET mobiles/(?P<mobile>1[3-9]\d{9})/count
2、请求参数
参数 类型 是否必传 说明
mobile str 是 手机号
3、返回数据
{
"mobile": "13521591251",
"count": "0"
}
4、流程
(1)、手机号是否存在的判断交给前端实现,后端只需要返回手机号的数量
(2)、前端传入手机号,通过路由传给后端,后端通过User对象的模型类去查询该手机号的数量,并返回数量和手机号至前端,前端进行判断
五、注册接口
1、请求方式
POST /users/
2、请求参数
参数名 类型 是否必须 说明
username str 是 用户名
password str 是 密码
password2 str 是 确认密码
sms_code str 是 短信验证码
mobile str 是 手机号
allow str 是 是否同意用户协议
3、返回数据
{
"id": 9,
"username": "python8",
"mobile": "18512345678",
}
4、流程
(1)、自定义一个序列化器去验证数据
(2)、返回数据