flask minitwit -2 (회원가입기능, httpie JSON)
출처 : 책 <깔끔한 파이썬="" 탄탄한="" 백엔드="">깔끔한>
개발환경 : ubuntu, vim, vscode
언어 및 프레임워크 : Python3, Flask
GIthub repository : YChaeeun/miniTwit_web
회원가입 기능 구현
- jsonify : dictionary 객체를 JSON으로 변환해준다
-
request.json : HTTP 요청을 통해 전송된 JSON 데이터를 파이썬 dictionary로 바꾸어 준다
-
app.py
from flask import Flask, jsonify, request app = Flask(__name__) app.users = {} app.id_count = 1
@app.route("/join", methods=['POST']) def join() : new_user = requst.json new_user['id'] = app.id_count app.users[app.id_count] = new_user app.id_count = app.id_count+1 return jsonify(new_user)
- 요소들을 잘 보이게 하려고 = 간격을 맞춰줬다!
- 사실 id_count + 1 형식으로 아이디를 구분하는 방법은 위험 할 수 있음 -> DB 저장할 때 auto increment로 id 값을 저장하거나 atomic 연산 사용하기
FLASK_ENV=development FLASK_APP=app.py flask run
- FLASK_ENV=development
- FLASK_DEBUG=1 과 같이 실행후에 수정 사항을 바로 반영하여 재실행 해주는 모드
http -v –json POST localhost:5000/join
- 다른 터미널 창을 열고 HTTP 요청 보내기!
- –json : HTTP 응답 메시지 Content-Type을 application/json 으로 받기 위한 옵션
- httpie 에서 json은 뒤에 key=value로 이어 적어주면 “key” : “value” 형식으로 전달됨
Comments