您能否描述如何在Flask Restplus自动生成的文档中指明基本URL?
我正在运行以下代码,但没有显示在swagger UI中:
from flask import Flask
from flask_restplus import Api
app = Flask(__name__)
api = Api(app,
title='Data Quality Framework API',
version='v0.1',
doc='/data_quality_framework/api/documentation',
contact='me@xxx.com',
base_url='/test')
答案 0 :(得分:10)
默认情况下,当使用此模式(即使用app
作为构造函数参数)时,API位于根端点(即/
)上,并且swagger文档位于API根目录上(即。/
。
您有多种可能性:
使用蓝图更改API根目录
如果您想保留API根目录上的文档,但更改API根目录,use a blueprint可以在您想要的位置注册API。
from flask import Flask, Blueprint
from flask_restplus import Api
app = Flask(__name__)
blueprint = Blueprint('api', __name__, url_prefix='/test')
api = Api(blueprint)
app.register_blueprint(blueprint)
assert url_for('api.doc') == '/test/'
仅更改文档位置
如果您想将API根保持在同一位置但只移动文档位置,Flask-restplus允许您使用doc
参数指定它。
from flask import Flask
from flask_restplus import Api
app = Flask(__name__)
api = Api(app, doc='/test/')
assert url_for('doc') == '/test/'
您也可以将两者结合起来。有关高级文档自定义的详细信息,请参阅http://flask-restplus.readthedocs.io/en/stable/swagger.html#customization。
答案 1 :(得分:3)
您可以使用 prefix 参数进行定义。我已经在0.13.0版上尝试过。
from flask import Flask
from flask_restplus import Api
app = Flask(__name__)
api = Api(app, prefix='/api')
答案 2 :(得分:-1)
添加行
from flask import url_for