在 Herokuapp 上托管 flask_restplus Swagger UI 说 "No API Definition provided."
hosting flask_restplus Swagger UI on Herokuapp says "No API Definition provided."
我正在尝试在 Heroku 服务器上托管 Flask Restplus 的 Swagger UI。它 builds 成功并且在 heroku 的日志中检查时,即使在那里它也显示 "Build succeeded"。
但问题是当我检查实际托管时,页面上只有一条消息说
未提供 API 定义。
顺便说一句,当本地 运行 时,swagger-UI 在浏览器上成功加载。
以下是swagger的示例代码片段-ui
from flask import Flask
from flask_restplus import Resource, Api
import os
app = Flask(__name__)
api = Api(app)
@api.route('/hello')
class HelloWorld(Resource):
def get(self):
return {'hello': 'world'}
if __name__ == '__main__':
port = int(os.environ.get("PORT", 5000))
app.run(host="0.0.0.0", port=port, debug=True)
那么我做错了什么?有什么方法可以在 heroku 上托管一个简单的最小 flask_restplus swagger-UI 吗?感谢任何帮助,谢谢。
编辑
以下是swagger.json
的内容
{
"swagger": "2.0",
"basePath": "/",
"paths": {
"/hello": {
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"operationId": "get_hello_world",
"tags": [
"default"
]
}
}
},
"info": {
"title": "API",
"version": "1.0"
},
"produces": [
"application/json"
],
"consumes": [
"application/json"
],
"tags": [
{
"name": "default",
"description": "Default namespace"
}
],
"responses": {
"ParseError": {
"description": "When a mask can't be parsed"
},
"MaskError": {
"description": "When any error occurs on mask"
}
}
}
此外,如果有帮助,这就是 Procfile
中的内容
web: python app.py
发布对我有用的内容,以防将来有人有同样的担忧。
我将 Procfile
从
更改为
web: python app.py
到
web: gunicorn app:app
然后 swagger-UI 第一页也开始出现在 heroku 上。早些时候端点仍然可以访问,但第一页即。 swagger-UI 页面未显示。但是进行此更改使其正常工作。
我正在尝试在 Heroku 服务器上托管 Flask Restplus 的 Swagger UI。它 builds 成功并且在 heroku 的日志中检查时,即使在那里它也显示 "Build succeeded"。
但问题是当我检查实际托管时,页面上只有一条消息说
未提供 API 定义。
以下是swagger的示例代码片段-ui
from flask import Flask
from flask_restplus import Resource, Api
import os
app = Flask(__name__)
api = Api(app)
@api.route('/hello')
class HelloWorld(Resource):
def get(self):
return {'hello': 'world'}
if __name__ == '__main__':
port = int(os.environ.get("PORT", 5000))
app.run(host="0.0.0.0", port=port, debug=True)
那么我做错了什么?有什么方法可以在 heroku 上托管一个简单的最小 flask_restplus swagger-UI 吗?感谢任何帮助,谢谢。
编辑
以下是swagger.json
的内容{
"swagger": "2.0",
"basePath": "/",
"paths": {
"/hello": {
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"operationId": "get_hello_world",
"tags": [
"default"
]
}
}
},
"info": {
"title": "API",
"version": "1.0"
},
"produces": [
"application/json"
],
"consumes": [
"application/json"
],
"tags": [
{
"name": "default",
"description": "Default namespace"
}
],
"responses": {
"ParseError": {
"description": "When a mask can't be parsed"
},
"MaskError": {
"description": "When any error occurs on mask"
}
}
}
此外,如果有帮助,这就是 Procfile
web: python app.py
发布对我有用的内容,以防将来有人有同样的担忧。
我将 Procfile
从
web: python app.py
到
web: gunicorn app:app
然后 swagger-UI 第一页也开始出现在 heroku 上。早些时候端点仍然可以访问,但第一页即。 swagger-UI 页面未显示。但是进行此更改使其正常工作。