Колба restful необязательный аргумент для ресурса - PullRequest
0 голосов
/ 27 января 2019

Я пытаюсь понять модуль успокоения фляги и не могу понять, как предоставить аргумент опций для ресурса.

т.е.

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 голосов
/ 29 января 2019

Я думаю, лучший подход состоит в том, чтобы иметь два ресурса / конечные точки .Первый для управления коллекцией (получить список задач, добавить новый todo) и второй для управления элементами коллекции (обновить или удалить элемент):

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

Этот способ намногобольше ОТДЫХА.

0 голосов
/ 27 января 2019

Поскольку вам нужен другой маршрут для извлечения всех задач, создайте другой класс, который обрабатывает несколько ресурсов. В вашем случае вы бы сделали что-то вроде этого:

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

api.add_resource(TodoSimples, '/todos')
...