是否可以使用flask-RESTplus自动生成swagger元数据json?

时间:2018-02-05 15:52:55

标签: python json swagger swashbuckle flask-restplus

我已经使用python库flask-Restplus创建了一个api,并将它的关联swagger ui暴露给例如http://serverURL:80/api/v1/documentation

是否有可能以某种方式将此文档页面公开为json? 我知道这可以使用.Net库“Swashbuckle”(例如http://serverURL:80/api/v1/documentation.json将以json格式返回文档)。我正在寻找一种在python中使用相同类型功能的方法。

3 个答案:

答案 0 :(得分:0)

事实证明,swagger ui的.json不是在文档页面中生成的,而是使用flask_Restplus库自动生成根目录。例如,“http://serverURL:80/api/v1/swagger.json”是具有此页面的网址,而不是我的文档网址“http://serverURL:80/api/v1/documentation”。我没有为此工作进行任何代码更改。

答案 1 :(得分:0)

作为运行开发服务器和打开浏览器的替代方法,这里有一些代码将Swagger规范提取为JSON:

from flask import Flask
from flask_restplus import Api

app = Flask(__name__)
api = Api(app)

def print_swagger_file():
    with app.app_context():
        print(json.dumps(api.__schema__, indent=4))

答案 2 :(得分:0)

要获取swagger.json,请转到:/swagger.json,您将获得swagger.json。使用此swagger.json生成文档。 转到https://editor.swagger.io并添加您的招摇。