5. 본격적으로 API개발하기

jj·2020년 11월 30일
0

다음 글은 <깔끔한 파이썬 탄탄한 백엔드> 책을 정리한 내용입니다
미니터(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

이 에러가 자꾸 뜸...

profile
재밌는게 재밌는거다

0개의 댓글