7

您能否描述如何在 Flask Restplus 自动生成的文档中指示基本 URL?

我正在运行以下代码,但招摇 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')

在此处输入图像描述

4

3 回答 3

23

默认情况下,使用此模式时(即 withapp作为构造函数参数),API 位于根端点(即。/)上,而 swagger 文档位于 API 根上(即。仍然/)。

您有多种可能性:

使用蓝图更改 API 根

如果您想将文档保留在 API 根目录上但更改 API 根目录,请使用蓝图在您想要的位置注册 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

于 2017-05-30T09:18:13.607 回答
3

您可以使用前缀参数定义它。我已经在 0.13.0 版上试过了。

from flask import Flask
from flask_restplus import Api

app = Flask(__name__)
api = Api(app, prefix='/api')
于 2020-01-30T00:02:34.697 回答
-3

添加它行

from flask import url_for
于 2019-12-23T06:30:25.703 回答