1

我已经安装了Flask-Restless并正在尝试运行快速启动应用程序。所有请求都返回 404 错误(在 python 日志和 curl 响应中)。我的整个设置是:

$ virtualenv venv --distribute
$ source venv/bin/activate
$ pip install flask-restless
$ pip install flask-sqlalchemy # it doesn't appear to do this automatically
... Copy code from quickstart to "run.py" ...
$ python ./run.py

(another window)
$ curl -i http://127.0.0.1:5000/

run.py 的控制台输出是:

 * Running on http://127.0.0.1:5000/
 * Restarting with reloader
127.0.0.1 - - [16/Apr/2013 17:08:05] "GET / HTTP/1.1" 404 -

确实被test.db创建了,并且使用调试器我可以看到它app.run()确实执行了。

有趣的是,我得到与Eve完全相同的行为。但是,我能够运行简单的 Flask 应用程序。

如果重要的话,这是 OS X 10.8 和 Python 2.7.3。

4

1 回答 1

3

从 Flask-Restless文档中...

默认情况下,在上述代码示例中,Person 的 API 可以在 访问http://<host>:<port>/api/person,其中 URL 的 person 部分是 的值Person.__tablename__

我的猜测是,默认情况下,这些框架不会在路径上设置端点/。它们只为与 API 中的实际对象相关的路径定义了端点。尝试以下...

curl -i http://127.0.0.1:5000/api/person
curl -i http://127.0.0.1:5000/person

这些 URL 可能实际上会命中您定义的端点。

于 2013-04-16T21:21:41.897 回答