다음 글은 <깔끔한 파이썬 탄탄한 백엔드> 책을 정리한 내용입니다
미니터(mini twitter) 구현
미니터가 제공하는 기능
- 회원가입
- 로그인
- 트윗
- 다른 회원 팔로우/언팔로우
- 타임라인
from flask import Flask, jsonify, request
#request를 이용해 사용자가 http요청을 통해 전송한 json 데이터를 읽어들일수 있음
#jsonify: dictionary 객체를 json으로 변환하여 http응답으로 보낼 수 있음
app = Flask(__name__)
app.users = {} #새로 가입한 사용자를 딕셔너리 형태로 user라는 변수에 저장
app.id_count =1
@app.route('\ping', mehtods=['GET'])
def ping():
return 'pong'
@app.route('\sign-up', methods=['POST']) #route 데코레이터를 사용하여 엔드포인트 정의
def sign_up():
new_user = request.json
#http요청을 통해 전송된 회원정보를 읽어들인다
#request는 엔드포인트에 전송된 http요청정보(헤더, 바디등)을 저장함
#해당 http 요청을 통해 전송된 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)
http -v POST localhost:5000/sign-up name=정재원 email=jjaya@naver.com
HTTP/1.0 500 INTERNAL SERVER ERROR
Connection: close
Content-Type: text/html; charset=utf-8
Date: Mon, 30 Nov 2020 07:39:50 GMT
Server: Werkzeug/1.0.1 Python/3.7.9
X-XSS-Protection: 0
이 에러가 자꾸 뜸...