RESTful Api를 구성하기?
Representational state transfer
이는 어떠한 하나의 방법론이며, 요즘 가장 흔하고 유명한 방법입니다.
GraphGL이 무섭게 치고올라오고 있는중.
HTTP Method를 통해 해당 자원에 대한 CRUD를 진행합니다.
from flask import Flask, jsonify, request
app = Flask(__name__) # Flask를 바탕으로 한 객체 생성. 인자로 __name__전달.
menus = [
{"id":1, "name":"Espresso", "price":3800},
{"id":2, "name":"Americano", "price":4100},
{"id":3, "name":"CafeLatte", "price":4600},
]
# 홈 디렉토리
@app.route('/')
def hello_code():
return 'Hello World!'
# GET /menus : 자료를 가지고 온다
@app.route('/menus')
def get_menus():
return jsonify({"menus" : menus})
# menus는 리스트로 json으로 변환할 수 없다.
# POST /menus : 자료를 자원에 추가한다.
@app.route('/menus', methods=['POST'])
def create_menu():
request_data = request.get_json() # {"name" : ..., "price": ...}
new_menu = {
"id" : 4,
"name" : request_data['name'],
"price" : request_data['price'],
}
menus.append(new_menu)
return jsonify(new_menu)
if __name__ == '__main__':
app.run()
위와 비슷하게 GET, POST를 구성할 수 있습니다.
API를 테스트해볼수 있는 엄청 좋은 프로그램입니다.
CRUD 모두 테스트 해보며 값 전달, 값 반환 모두 확인할 수 있습니다 짱짱!