现在的随着js和js的相关前端框架,越来越强大网站,软件系统,越来越使用前后端分离的方式进行开发。前端和后端被分离为了两个不同的工种。
传统的API 文档虽然满足了阅读者对接接口的需求,但是通常需要等待后端开发完成才能调用接口,从而真正开始接口调试工作。
如果要让两个工种同时并发的进行开发,就需要前端后端达成接口的约定,也就是接口文档。如果我们提前编写出接口文档,用接口文档就可以分别对前后端进行服务,通过接口文档分隔前后端,那么前后端就可以按照这个接口文档的约定进行开发,开发效率就会大大提升,同时在开发过程中保留了宝贵的接口文档。
我想做的是这个接口文档的工具需要满足以下几个特性:
最早曾使用过阿里的rap, 后面又同事介绍了yapi和json-server,到公司一直在用的postman,都不能完美的达到我想要的效果,所以自己用业余时间来设计造一个轮子吧。
{
"name":"用户操作",
"desc":"",
"apis":
[{
"name":"用户登录",
"desc":"",
"request":{
"method": "POST",
"authorization":true,
"url":"/login/",
"body":{
"mode":"json",
"data":{
"username":{"name":"用户名", "desc":"", "type":"string", "max_length":30, "error_messages":{
"code":-1,
"max_length":"length must less than 30",
"required":"username name is required"}},
"password":{"name":"用户登录密码", "desc":"", "type":"string", "max_length":30, "min_length":3}
}
}
},
"response":{
"code":{"name":"返回结果的代码", "type":"int", "desc":"登录成功只返回1"},
"msg":{"name":"登录成功返回消息", "type":"string", "desc":"通常返回都是空"},
"token":{"name":"登录成功返回的用户token", "type":"string", "length":"43"}
},
"test_data":[
{
"request":{"username":"edison", "password":"123"},
"response":{"code":-1, "msg":"密码输入不正确"}
},
{
"request":{"username":"lily", "password":"123"},
"response":{"code":-2, "msg":"用户名不存在"}
},
{
"request":{"username":"root", "password":"123"},
"response":{"code":1, "msg":"登录成功", "token":"fjdlkfjlafjdlaj3jk2l4j"}
},
{
"request":{"username":"lily"},
"response":{"code":-1, "msg":"密码是必填的"}
},
{
"request":{"password":"123"},
"response":{"code":-1, "msg":"用户名是必填的"}
}
]
},
{
"name":"用户退出登录",
"desc":"",
"request":{
"method":"GET",
"url":"/logout/"
},
"response":{
"code":{"name":"返回结果的代码", "type":"int", "desc":"退出成功只返回1"},
"msg":{"name":"退出操作返回消息", "type":"string", "desc":"通常返回都是空"}
},
"test_data":[
{
"request":null,
"response":{"code":1, "msg":"退出成功"}
}
]
}
]}
那用Rust来写吧,编译为Mac、Windows、Linux的直接可运行文件,用户无需再安装任何环境
2020-02-05 05:57