flask minitwit -2 (회원가입기능, httpie JSON)

less than 1 minute read

출처 : 책 <깔끔한 파이썬="" 탄탄한="" 백엔드="">

개발환경 : 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 과 같이 실행후에 수정 사항을 바로 반영하여 재실행 해주는 모드

twit-1

http -v –json POST localhost:5000/join

  • 다른 터미널 창을 열고 HTTP 요청 보내기!
  • –json : HTTP 응답 메시지 Content-Type을 application/json 으로 받기 위한 옵션
  • httpie 에서 json은 뒤에 key=value로 이어 적어주면 “key” : “value” 형식으로 전달됨

twit-2

Categories:

Updated:

Comments