Client의 Context를 서버에서 유지하지 않는다.
POST /shoes
는 자원에 새로운 정보를 생성
GET /shoes
는 DB에서 shoes가 있는지 확인 후 해당 자원 반환(서버 입장에서) 아이템을 GET하기 위해서 POST를 진행할 필요가 없음
from flask import Flask, jsonify, request
app = Flask(__name__)
menus = [
{"id": 1, "name": "Espresso", "price": 3800},
{"id": 2, "name": "Americano", "price": 4100},
{"id": 3, "name": "CageLatte", "price": 4600},
]
@app.route('/')
def hello_flask():
return "Hello World!!"
#GET /menus | 자료를 가지고 온다.
@app.route('/menus')
def get_menus():
return jsonify()
#POST /menus
@app.route('/menus', methods = ['POST'])
def create_menu():
# 전달받은 자료를 menus 자원에 추가
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()