404访问资源时Flask-Restful

时间:2017-04-02 00:31:05

标签: python flask http-status-code-404 flask-restful

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?

1 个答案:

答案 0 :(得分:4)

好的,问题似乎是下面的排序是错误的。我必须在启动api之前添加资源。

api = Api()
api.init_app(app)
api.add_resource(HelloWorld, '/')

修正:

api = Api()
api.add_resource(HelloWorld, '/')
api.init_app(app)

这很奇怪,例如SQLAlchemy需要在使用之前调用init_app ...