자원(Resource, 데이터) 중심으로 설계되며, HTTP 프로토콜의 메소드(GET, POST, PUT, DELETE 등)를 사용하여 해당 자원에 대한 CRUD(Create, Read, Update, Delete) 작업을 수행
GET: 자원을 조회합니다. 예를 들어, /users로 GET 요청을 보내면 사용자 목록을 가져옵니다.POST: 새로운 자원을 생성합니다. 예를 들어, /users에 POST 요청을 보내면 새 사용자를 만듭니다.PUT: 기존 자원을 업데이트합니다.DELETE: 자원을 삭제합니다.JSON : 컴퓨터 간 상호작용을 할 때 주로 사용하는 형식{key:value} 형태로 이루어진 데이터 포맷


from flask import Flask, request
app = Flask(__name__)
# GET 요청 예시
@app.route("/hello", methods=["GET"])
def hello():
return "안녕하세요!"
# POST 요청 예시
@app.route("/submit", methods=["POST"])
def submit():
data = request.form["name"] # 사용자가 보낸 데이터 읽기
return f"{data}님, 접수 완료!"
/hello : 주소를 브라우저에 치면 바로 응답 (GET)
/submit : 폼 전송 같은 걸로 요청해야 동작 (POST)
from flask import Flask, jsonify
from flasgger import Swagger
app = Flask(__name__)
swagger = Swagger(app) # Swagger 세팅
# http://127.0.0.1:5000/apidocs
@app.route('/hello')
def hello():
"""
Hello API
---
responses:
200:
description: 성공 응답
schema:
type: object
properties:
message:
type: string
example: "Hello, OZ BE14!"
"""
return jsonify(message="Hello, World!")
if __name__ == '__main__':
app.run(debug=True)

from flask import Flask, request, jsonify
app = Flask(__name__)
todos = {
1: "flask 공부하기",
2: "파이썬 공부하기",
}
# 1. 전체 목록 조회: GET
@app.route("/todos", methods=['GET'])
def get_todos():
return jsonify(todos)
# 2. 특정 항목 조회: GET
@app.route("/todos/<int:todo_id>", methods=["GET"])
def get_todo(todo_id):
task = todos.get(todo_id)
if not task:
return jsonify({"error" : "할 일이 없습니다."}), 404 # 404(not found) : 클래스이름
return jsonify({todo_id: task})
if __name__ == '__main__':
app.run(debug=True)

from flask import Flask, request
app = Flask(__name__)
# 가상의 데이터 (DB 대신 리스트 사용)
orders = [
{"id": 1, "item": "불고기버거"},
{"id": 2, "item": "치즈버거"}
]




from flask import Flask, request
app = Flask(__name__)
@app.route("/example", methods=["GET", "POST"])
def example():
if request.method == "GET":
# URL 뒤에 ?name=홍길동
name = request.args.get("name")
return {"message": f"Hello {name}!"}
if request.method == "POST":
# Body JSON: {"item": "치즈버거"}
data = request.json
return {"received_item": data["item"]}


