【发布时间】:2017-04-02 00:31:04
【问题描述】:
from flask import g, request, session, render_template, flash, redirect, url_for
from flask import current_app as app
@app.route('/')
def home():
return 'this works'
from flask_restful import Resource, Api
from app.extensions import api
class HelloWorld(Resource):
def get(self):
return {'Hello': 'World'}
api.add_resource(HelloWorld, '/test') # Getting a 404 for this route on http://127.0.0.1:5000/test
Extensions 设置 api 变量:
api = Api()
api.init_app(app)
我无法弄清楚为什么在尝试访问 api 资源时会收到 404?
【问题讨论】:
-
你试过带参数吗?
-
或者,您的示例在没有参数的情况下完成(与您的 add_resource 匹配),它似乎可以按预期工作。 pastebin.com/yJy7F2At
-
抱歉,我用文档中的一些代码替换了我更复杂的代码并忘记了参数。我已经更新了我的代码,但问题仍然存在。
-
问题是您显示的代码没有重现您所描述的问题。你应该写一个minimal reproducible example 。
-
是的,确实如此,只需将 api = Api(app) 替换为我上面的操作方式(延迟 init_app),您就会遇到同样的问题。无论如何,我在下面回答了我的问题。
标签: python flask http-status-code-404 flask-restful