Vue项目前后端接口约定
2019-04-25 本文已影响0人
kiterumer
前后端接口约定有哪些
-
当前接口的路径是什么? 如 /auth/register
-
当前接口提交数据的类型是什么? 如
- GET 获取数据
- POST 提交或者创建
- PATCH 修改数据,部分修改
- PUT 修改数据,整体替换原有数据
- DELETE 删除数据
-
参数类型/格式,比如是 json 格式,还是 application/x-www-form-urlencoded的数据
-
参数字段,及限制条件
-
返回成功的数据格式
-
返回失败的数据格式
开发阶段可用postman 或者curl命令测试接口
接口测试
POST /auth/register
功能:用户注册
需要 username 和 password
测试命令:
# -d 是用来传递数据 data
# 对于 POST 和 PUT 可以: -X POST, 对于 GET,不加 -X
curl -d "username=xyz&password=123456" -X POST "http://blog-server.hunger-valley.com/auth/register"
POST /auth/login
功能:用户登录
需要 username 和 password
测试命令:
# -i 可以展示响应信息
# 响应头里有setCookie,可以得到cookie信息,后面测试判断用户是否登录可以用到
curl -d "username=yyy&password=123456" "http://blog-server.hunger-valley.com/auth/login" -i
GET /auth
功能:判断用户是否登录
提交参数:无
测试命令:
#先通过登录接口获取 cookie,带上 cookie 就能测试登录
curl "http://blog-server.hunger-valley.com/auth" -b " connect.sid=s%3Awti9JiOjMxkW_oxqXrmzi2tsmbdYzb4q.XX8RZcb8mjv9RhVRYTjqaEBIy3P1w9w0I0bYuvbeKjM"
GET /auth/logout
功能:注销
提交参数:无
测试命令:
curl "http://blog-server.hunger-valley.com/auth/logout" -b " connect.sid=s%3Awti9JiOjMxkW_oxqXrmzi2tsmbdYzb4q.XX8RZcb8mjv9RhVRYTjqaEBIy3P1w9w0I0bYuvbeKjM"
windows平台使用gitbash实测
GET /blog
功能:获取博客列表
提交参数:page,userId,atIndex
如 /blog?page=2&userId=1 获取属于用户1的第2页博客列表
测试命令:
curl "http://blog-server.hunger-valley.com/blog?page=1&userId=1"
POST /blog
功能:创建博客
提交参数:
- 参数类型:Content-Type: application/x-www-form-urlencoded; charset=utf-8
- 参数字段:title,content,description
PATCH /blog/:blogId
功能: 修改博客 id 为:blogId 的博客
提交参数:
- 参数类型:Content-Type: application/x-www-form-urlencoded; charset=utf-8
- 参数字段:title,content,description,atIndex
DELETE /blog/:blogId
功能: 删除博客 id 为:blogId 的博客