Flask 更改swagger捆绑包javascript的根路径
我在为我的flask应用程序配置Swagger时遇到了问题,该应用程序作为一个微服务部署在另一个父项目下 如图所示,Swagger的静态文件是这样加载的Flask 更改swagger捆绑包javascript的根路径,flask,swagger,flask-restful,Flask,Swagger,Flask Restful,我在为我的flask应用程序配置Swagger时遇到了问题,该应用程序作为一个微服务部署在另一个父项目下 如图所示,Swagger的静态文件是这样加载的 这导致了问题,因为.js试图从根路径解析,而根路径是我不控制的父应用程序 在哪里指定Swagger,以便在加载这些Javascript时查找自定义路径?只需在前面添加一个点就可以解决问题 我的代码是这样的 from flask import Flask, Blueprint from flask_restplus import Api ap
这导致了问题,因为.js
试图从根路径解析,而根路径是我不控制的父应用程序
在哪里指定Swagger,以便在加载这些Javascript时查找自定义路径?只需在前面添加一个点就可以解决问题
我的代码是这样的
from flask import Flask, Blueprint
from flask_restplus import Api
app = Flask(__name__)
blueprint = Blueprint('api', __name__, url_prefix='/api')
api = Api(blueprint, doc='/doc/')
app.register_blueprint(blueprint)
通过覆盖默认模板的
swagger\u static
并通过spec\u url
传递必要的路径,我们可以潜在地更改swagger查找html和json的路径
完整的解决方案如下所示
@apidoc.apidoc.add_app_template_global
def swagger_static(filename):
return "./swaggerui/{0}".format(filename)
api = Api(app)
@api.documentation
def custom_ui():
return render_template("swagger-ui.html", title=api.title, specs_url="./swagger.json")
链接Github讨论