Flask(플라스크) - 파이썬 Flask RestFul API 서버 작성 예제 및 다운로드

Flask(플라스크) - 파이썬 Flask RestFul API 서버 작성 예제 및 다운로드

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62

from flask import Flask from flask_restful import reqparse, abort, Api, Resource #Flask 인스턴스 생성 app = Flask(__name__) api = Api(app) #할일 정의 TODOS = { 'todo1' : { 'task' : 'Make Money' }, 'todo2' : { 'task' : 'Play PS4' }, 'todo3' : { 'task' : 'Study!' }, } #예외 처리 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' ) # 할일(Todo) # Get, Delete, Put 정의 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 # 할일 리스트(Todos) # Get, POST 정의 class TodoList(Resource): def get(self): return TODOS def post(self): args = parser.parse_args() todo_id = 'todo%d' % ( len (TODOS) + 1 ) TODOS[todo_id] = { 'task' : args[ 'task' ]} return TODOS[todo_id], 201 ## ## URL Router에 맵핑한다.(Rest URL정의) ## api.add_resource(TodoList, '/todos/' ) api.add_resource(Todo, '/todos/' ) #서버 실행 if __name__ = = '__main__' : app.run(debug = True) Colored by Color Scripter

from http://niceman.tistory.com/101 by ccl(S) rewrite - 2021-04-07 10:26:13