zoukankan      html  css  js  c++  java
  • flask put 和delete 接口demo

    code

    from flask import Flask
    from flask_restful import reqparse, abort, Api, Resource
    
    app = Flask(__name__)
    api = Api(app)
    
    TODOS = {
        'todo1': {'task': 'build an API'},
        'todo2': {'task': '?????'},
        'todo3': {'task': 'profit!'},
    }
    
    def abort_if_todo_doesnt_exist(todo_id):
        if todo_id not in TODOS:
            abort(404, message="Todo {} doesn't exist".format(todo_id))
    
    parser = reqparse.RequestParser()
    parser.add_argument('task', type=str)
    
    # Todo
    #   show a single todo item and lets you delete them
    class Todo(Resource):
        def get(self, todo_id):
            abort_if_todo_doesnt_exist(todo_id)
            return TODOS[todo_id]
    
    
        def delete(self, todo_id):
            abort_if_todo_doesnt_exist(todo_id)
            del TODOS[todo_id]
            return '', 204
    
        def put(self, todo_id):
            args = parser.parse_args()
            task = {'task': args['task']}
            TODOS[todo_id] = task
            return task, 201
    
    # TodoList
    #   shows a list of all todos, and lets you POST to add new tasks
    class TodoList(Resource):
        def get(self):
            return TODOS
    
        def post(self):
            args = parser.parse_args()
            todo_id = int(max(TODOS.keys()).lstrip('todo')) + 1
            todo_id = 'todo%i' % todo_id
            TODOS[todo_id] = {'task': args['task']}
            return TODOS[todo_id], 201
    
    api.add_resource(TodoList, '/todos')
    api.add_resource(Todo, '/todos/<todo_id>')
    
    if __name__ == '__main__':
        app.run(debug=True)

  • 相关阅读:
    NTT算法小结
    FFT算法小结
    [USACO18DEC]Balance Beam
    洛谷4014分配问题
    洛谷4015运输问题
    洛谷3356火星探险问题
    python中函数详解
    python函数详解
    Python中对文件处理
    Python中的字符编码
  • 原文地址:https://www.cnblogs.com/sea-stream/p/14176318.html
Copyright © 2011-2022 走看看