Flask Restful可选的资源参数

时间:2019-01-27 03:52:57

标签: python flask flask-restful

我试图了解烧瓶的宁静模块,但无法弄清楚如何为资源提供options参数。

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>')

在上述情况下,如何创建一个新的端点来返回所有待办事项,而不仅仅是一个?

2 个答案:

答案 0 :(得分:1)

我认为最好的方法是拥有两个资源/端点。第一个用于管理集合(获取待办事项列表,添加新的待办事项),第二个用于管理集合的项目(更新或删除项目):

class TodoListResource(Resource):
    def get(self):
        return {'todos': todos}


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

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


api.add_resource(TodoListResource, '/todos')
api.add_resource(TodoResource, '/todos/<string:todo_id>/')

这种方式可提供更多的REST。

答案 1 :(得分:0)

由于您需要其他途径来检索所有待办事项,因此请创建另一个处理多个资源的类。在您的情况下,您将执行以下操作:

class TodoSimples(Resource):
    def get(self):
        return {'todos': todos}

api.add_resource(TodoSimples, '/todos')