模仿yaag中间件写一个siwag
siwag中间件
导入中间件能够生成swagger.json 文件,
特点:
1. 每次请求都能够记录参数和响应(虽然参数类型有的获取不到例如 query的参数)
2. 能够根据前后参数对比,发现参数是否是必须的要求
3. 启动web后,会自动扫描自己添加的struct能够生成definitions,(能省自己一步是一步)
缺点:
1. query 因为后端得到的都是字符串,我这里没有尝试格式化得到类型。(还没有完善)
2. struct 构造导致body参数与query 参数 的type 出现问题(body参数 没有type 键)
3. 只能够记录application/json 等常见的请求格式
下面是生成的swagger.json 下面是路径的重要重写
"paths": {
"/json": {
"post": {
"description": "",
"consumes": [
"application/x-www-form-urlencoded"
],
"produces": [
"application/json"
],
"schemes": null,
"tags": [
"default"
],
"summary": "",
"deprecated": false,
"parameters": [
{
"in": "path",
"name": "cesa",
"required": true,
"type": "",
"allowEmptyValue": false,
"description": "{\"aaa\":\"2,3,4\",\"cesa\":\"1,2,2,2,2\"}"
},
{
"in": "path",
"name": "aaa",
"required": true,
"type": "",
"allowEmptyValue": false,
"description": "{\"aaa\":\"2,3,4\",\"cesa\":\"1,2,2,2,2\"}"
}
],
"responses": {
"200": {
"description": "1,2,2,2,2"
}
}
}
}
},