我使用 python 库 flask-Restplus 创建了一个 api,并将其关联的 swagger ui 暴露给例如http://serverURL:80/api/v1/documentation。
是否可以以某种方式将此文档页面公开为 json?我知道这可以使用 .Net 库“Swashbuckle”(例如http://serverURL:80/api/v1/documentation.json将返回 json 格式的文档)。我正在寻找一种在 python 中实现相同类型功能的方法。
我使用 python 库 flask-Restplus 创建了一个 api,并将其关联的 swagger ui 暴露给例如http://serverURL:80/api/v1/documentation。
是否可以以某种方式将此文档页面公开为 json?我知道这可以使用 .Net 库“Swashbuckle”(例如http://serverURL:80/api/v1/documentation.json将返回 json 格式的文档)。我正在寻找一种在 python 中实现相同类型功能的方法。
原来swagger ui的这个.json不是在文档页面生成的,而是用flask_Restplus库自动生成的根目录。例如“ http://serverURL:80/api/v1/swagger.json ”是这个页面的url,而不是我的文档url“ http://serverURL:80/api/v1/documentation ”。我不必为此进行任何代码更改。
作为运行开发服务器和打开浏览器的替代方法,这里有一些将 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))
要获取 swagger.json,请转到 :/swagger.json,您将获得 swagger.json。使用此 swagger.json 生成文档。转到https://editor.swagger.io并添加你的招摇。