当与 Flask-Restplus 一起使用时,Flask 路由位于 / returns 404
Flask route at / returns 404 when used with Flask-Restplus
我有一个 Flask 应用程序,它有一个 Flask-RestPlus API 以及一个“/”路由。然而,当我尝试访问“/”时,我得到了 404。如果我删除了 Flask-RestPlus 扩展,路由就可以工作。如何让这两个部分协同工作?
from flask import Flask
from flask_restplus import Api
app = Flask(__name__)
api = Api(app, doc="/doc/") # Removing this makes / work
@app.route("/")
def index():
return "foobar"
flask-restplus
根据他们的文档定义了一种不同的分配路由的方式:
@api.route('/')
class Home(Resource):
def get(self):
return {'hello': 'world'}
请注意,使用 api
变量而不是 app
。此外,尽管我不是 100% 确定它是必需的,但使用了 class。
这是关于那个问题的 open issue in Flask-RestPlus. As described in this comment,更改 route
和 Api
的顺序解决了这个问题。
from flask import Flask
from flask_restplus import Api
app = Flask(__name__)
@app.route("/")
def index():
return "foobar"
api = Api(app, doc="/doc/")
我有一个 Flask 应用程序,它有一个 Flask-RestPlus API 以及一个“/”路由。然而,当我尝试访问“/”时,我得到了 404。如果我删除了 Flask-RestPlus 扩展,路由就可以工作。如何让这两个部分协同工作?
from flask import Flask
from flask_restplus import Api
app = Flask(__name__)
api = Api(app, doc="/doc/") # Removing this makes / work
@app.route("/")
def index():
return "foobar"
flask-restplus
根据他们的文档定义了一种不同的分配路由的方式:
@api.route('/')
class Home(Resource):
def get(self):
return {'hello': 'world'}
请注意,使用 api
变量而不是 app
。此外,尽管我不是 100% 确定它是必需的,但使用了 class。
这是关于那个问题的 open issue in Flask-RestPlus. As described in this comment,更改 route
和 Api
的顺序解决了这个问题。
from flask import Flask
from flask_restplus import Api
app = Flask(__name__)
@app.route("/")
def index():
return "foobar"
api = Api(app, doc="/doc/")