Files
assignment02/be_signup/signup_app.py
2025-11-18 03:48:19 +00:00

52 lines
1.3 KiB
Python

# signup_app.py
from flask import Flask, request, jsonify
import os
import json
app = Flask(__name__)
DB_DIR = './data'
DB_FILE = f'{DB_DIR}/db.json'
# ensure directory exists
os.makedirs(DB_DIR, exist_ok=True)
# DB 초기화 함수
def init_db():
if not os.path.exists(DB_FILE):
with open(DB_FILE, 'w') as f:
json.dump([], f)
else:
try:
with open(DB_FILE, 'r') as f:
data = json.load(f)
if not isinstance(data, list):
raise ValueError
except:
with open(DB_FILE, 'w') as f:
json.dump([], f)
@app.route('/signup', methods=['POST'])
def signup():
data = request.get_json()
if not data or 'name' not in data:
return jsonify({'error': 'Missing name or email'}), 400
with open(DB_FILE, 'r') as f:
users = json.load(f)
users.append({'name': data['name'], 'email': data.get('email', '')})
with open(DB_FILE, 'w') as f:
# json.dump(users, f)
json.dump(users, f, ensure_ascii=False, indent=2)
return jsonify({'status': 'ok'})
# DB 초기화
init_db()
if __name__ == '__main__':
# init_db() # 서버 시작할 때 DB 초기화
# app.run(host='127.0.0.1', port=5000)
app.run(host='0.0.0.0', port=5000)