flask-restful:在服务器上找不到请求的URL

时间:2017-01-07 08:00:25

标签: python flask-restful

我正在尝试遵循flask-restful的文档并尝试运行以下代码。

from flask import Flask, request
from flask_restful import Resource, Api

app = Flask(__name__)
api = Api(app)

todos = {}

class TodoSimple(Resource):
    def get(self, todo_id):
        return {todo_id: todos[todo_id]}

    def put(self, todo_id):
        todos[todo_id] = request.form['data']
        return {todo_id: todos[todo_id]}

api.add_resource(TodoSimple, '/<string:todo_id>')

if __name__ == '__main__':
    app.run(debug=True)

但是当我尝试用&#34; http://127.0.0.1:5000/todo1&#34;它响应的消息&#34;在服务器上找不到请求的URL。如果您手动输入了URL,请检查拼写并重试。&#34;。我在代码中做错了什么请帮忙。

1 个答案:

答案 0 :(得分:2)

问题在于您为资源定义URL路由的方式。您现在正尝试通过http://127.0.0.1:5000/todo1访问它,但您已定义TodoSimple来处理发送给http://127.0.0.1:5000/1的请求。我建议将代码更改为......如下所示

api.add_resource(TodoSimple, '/todo/<int:todo_id>')

然后,尝试通过GET http://127.0.0.1:5000/todo/1

访问它