이전 글에서 app.py에 config.py를 연결해보았다.
database에 접근하는 방법을 구현했으니, 회원가입 함수를 구현하고 테이블에 회원 정보를 저장해보자
created_app 내부에 다음과 같이 sign-up route를 만들어주자.
@app.route('/sign-up', methods=['POST'])
def sign_up():
new_user = request.json
new_user_id = insert_user(new_user)
check_user = str(new_user_id)
if check_user is None :
return 'fail', 401
return check_user, 200
위 함수가하는 일은 간단하다. 아래에 구현하겠지만 요청에 담겨온 json을 읽고 insert_user에 던져준다.
insert_user에서 정상적으로 user를 insert하게 되면 insert한 유저의 uid를 리턴 받고, 성공 여부를 리턴하는 함수다.
def insert_user(user):
return current_app.database.execute(text("""
INSERT INTO users(
name,
email,
profile,
hashed_password
) VALUES (
:name,
:email,
:profile,
:password
)
""") user).lastrowid
요렇게 구성하면 다음과 같이 리턴을 받아볼 수 있다.

이건 DB 상태
