아래는 작성된 플라스크 예시.
from flask import Flask, request, jsonify
app = Flask(__name__)
# ------------------------------------------------------------------
# 1. URL과 메서드 매칭 ('/note/send' 주소로 'POST' 요청이 오면 실행)
# ------------------------------------------------------------------
@app.route('/note/send', methods=['POST'])
def send_note():
try:
# ----------------------------------------------------------
# 2. 데이터 수신 (택배 상자 뜯기)
# JS에서 보낸 JSON 데이터를 파이썬 딕셔너리로 변환합니다.
# ----------------------------------------------------------
data = request.get_json()
# 3. 데이터 확인 (콘솔에 찍어보기)
print("--- 받은 데이터 ---")
print(data)
print(f"제목: {data['title']}")
print(f"내용: {data['content']}")
# ----------------------------------------------------------
# 4. 변수 추출 (사용하기 편하게 꺼내기)
# ----------------------------------------------------------
sender_idx = data.get('sender_idx')
receiver_idx = data.get('receiver_idx')
title = data.get('title')
content = data.get('content')
# ----------------------------------------------------------
# 5. DB 저장 로직 (아까 만든 쿼리 실행)
# ----------------------------------------------------------
# 예: insert_note(sender_idx, receiver_idx, title, content)
# (여기서 DB에 INSERT가 수행됩니다)
# 6. 결과 응답 (영수증 써주기)
return jsonify({"message": "성공적으로 전송되었습니다.", "status": "success"}), 200
except Exception as e:
# 에러 발생 시
print(f"에러 발생: {e}")
return jsonify({"message": "서버 에러가 발생했습니다."}), 500
if __name__ == '__main__':
app.run(port=28888, debug=True)
const payload = {
sender_idx: 1,
receiver_idx: 2,
title: titleValue,
content: contentValue
};
파이썬의 request 객체는 들어온 요청을 붙잡습니다. 하지만 아직은 그냥 텍스트 덩어리인 상태이다.
이때 request.get_json() 이 함수가 실행되면 텍스트였던 JSON 이 파이썬의 딕셔너리 형태로 변환(파싱)된다.
변환 전 (JSON 문자열): "{ 'title': '안녕' }"
변환 후 (Python 딕셔너리): {'title': '안녕'}
이제 파이썬은 이 데이터를 data['title'] 처럼 키(Key)를 이용해 꺼낼 수 있게 된다.
위에서 print(data)콘솔에서 찍히는 모양
--- 받은 데이터 ---
{'sender_idx': 1, 'receiver_idx': 2, 'title': '테스트 제목', 'content': '테스트 내용입니다'}
제목: 테스트 제목
내용: 테스트 내용입니다
처리가 다 끝나면 파이썬도 자바스크립트에게 결과를 알려줘야 합니다. jsonify(...) 함수를 쓰면 파이썬 딕셔너리를 다시 JSON 문자열로 바꿔서 자바스크립트의 result 변수로 쏙 넣어줍니다.