swagger官网称其为世界最流行的api工具。用过的都说好。我已经深有体会。
附上官网编辑页面。只需要拷贝相应的文件就可以实现效果
下面主要讲解一下在python的flask框架下,如何使用这款屌炸天的应用。
1、安装flasgger 项目地址https://github.com/rochacbruno/flasgger
pip install flasgger
2、写一个简单的web例子。
以下是简写代码
#coding:utf8 import sys reload(sys) sys.setdefaultencoding('utf8') from flask import Flask,Blueprint,render_template,request,redirect,jsonify from flasgger import Swagger,swag_from app = Flask(__name__) swagger = Swagger(app) #swagger展现api接口方法集合,访问http://127.0.0.1:9001/apidocs/即可 @app.route('/api/publish/k8sbuildjob/',methods=['POST']) @swag_from('apiDescYmal/color.yml') def build(): return jsonify({}) if __name__ == '__main__': app.run(host='0.0.0.0',port=9001,debug=True)
3、描述文件。示例color.yml
发布镜像编译任务接口 指定的color.yml文件 --- schemes: - http parameters: - name: appid in: body description: 指定需要编译镜像的appid type: integer enum: ['111', '222',] required: true default: all - name: dbenv in: body description: 指定数据库db环境 type: string enum: ['formal', 'test'] required: true default: all - name: dbname in: body description: 指定数据库db type: string enum: ['kubernetes', 'cdsmdb'] required: true default: all - name: releaseenv in: body description: 发布环境 type: string enum: ['test', 'pro'] required: true default: all definitions: Palette: type: object properties: palette_name: type: array items: $ref: '#/definitions/k8sbuildjob' Color: type: string responses: 200: description: 返回的是一个元组,第一位是状态码0成功,1失败,第二个是成功或失败的信息 schema: $ref: '#/definitions/k8sbuildjob' examples: data: (0, "send rabbitmq k8s job success")
4、运行程序
python k8sdashboard.py
访问api帮助接口:
默认接口是:
http://172.31.29.123:9001/apidocs/#/default
更多信息,访问官网自研究