1. create_app() 함수 내에 코드 추가하여 실행
@app.route("/sign-up", methods=['GET','POST'])
def sign_up():
new_user = request.json
new_user_id = app.database.execute(text("""
INSERT INTO users(
name,
email,
profile,
hashed_password
) VALUES (
:name,
:email,
:profile,
:password
)
"""), new_user).lastlowid
row = current_app.database.execute(text("""
SELECT
id,
name,
email,
profile
FROM users
WHERE id = :user_id
"""),{
'user_id' : new_user_id
}).fetchione()
created_user = {
'id' : row['id'],
'name' : row['name'],
'email' : row['email'],
'profile' : row['profile']
} if row else None
return jsonify(created_user)
new_user_id : HTTP 요청으로 들어온 새로운 데이터(회원가입 정보)를 INSERT 구문으로 저장.
app.database : DB에 연결된 엔진 객체.
lastrowid : 새로운 사용자가 생성되면 해당 사용자의 id를 읽어들임.
row : 새롭게 생성된 사용자 정보를 DB에서 읽음.
created_user : row에서 읽은 사용자의 정보를 dict로 변환. HTTP 응답에서 JSON으로 확인.
2. HTTP 요청 보내기
http -v POST "http://127.0.0.1:5000/sign-up" \
name=ironman \
email=stark@gmail.com \
password=iamironman \
profile="iam hero."
응답 확인
DB users table 확인
잘 들어갔다!
인용부호(" ", ' ') 꼭꼭 잘 확인!!!
변수명도 잘 확인!
오타나면 계속 에러남!!
'Python > Flask' 카테고리의 다른 글
[미니터] DB연결 - 팔로우와 언팔로우 (0) | 2022.07.14 |
---|---|
[미니터] DB연결 - tweet 올리기 (0) | 2022.07.14 |
[미니터] sqlalchemy를 사용한 API와 DB 연결 (0) | 2022.07.12 |
[미니터] 타임라인 (0) | 2022.07.07 |
[미니터] 팔로우와 언팔로우 (0) | 2022.07.07 |