因此,按照使用烧瓶蓝图(https://github.com/rantav/flask-restful-swagger/blob/master/examples/blueprints.py)的swagger ui的示例,我有以下代码:
app = Flask(__name__)
test_blueprint = Blueprint('tests', __name__)
test_api = swagger.docs(restful.Api(test_blueprint), apiVersion='0.1',
basePath='http://localhost:5000',
produces=["application/json", "text/html"],
api_spec_url='/api/spec')
# Operation TestOp defined here
test_api.add_resource(TestOp, '/')
if __name__ == "__main__":
app.register_blueprint(test_blueprint, url_prefix='/test')
app.run(debug=True)
但是,当我尝试访问api规范文档时,无法找到该URL。 我试过......
localhost:5000/api/spec
localhost:5000/test_api/api/spec
localhost:5000/test_api
...所有这些都返回404.我也尝试创建没有蓝图的应用程序,用
创建文档swagger.docs(restful.Api(app)...)
代替。如果完成此操作并且没有涉及蓝图,我可以通过
访问文档localhost:5000/api/spec
那么,我是否使用蓝图错误地创建了我的应用程序,或者我只是没有使用正确的URL来访问文档?
答案 0 :(得分:4)
看起来你只是没有找到正确的网址。由于您的蓝图url_prefix是" / test",因此Swagger规范网址应位于:
localhost:5000/test/api/spec
答案 1 :(得分:2)
我知道这个帖子已经老了,但我今天遇到了这个问题,试图用我的(有点)现代烧瓶+ python3应用程序使用烧瓶 - 使用蓝图。同样的问题,没有错误,无论我尝试什么都没有规格。
我最终放弃了这个软件包(因为它看起来似乎并不是非常活跃),尽管我喜欢这个软件包的标记。
我选择了Flasgger,它似乎最近更新了。在10分钟内我完成并运行了。代码和简短教程在这里:https://github.com/rochacbruno/flasgger
答案 2 :(得分:0)
swagger.docs()中出了点问题
from flask_restful import Api
test_blueprint = Blueprint('tests', __name__)
test_api = swagger.docs(Api(test_blueprint)...)
app.register_blueprint(test_blueprint)
还有什么
main_blueprint = Blueprint('api', __name__, url_prefix='/demo')