본문 바로가기
API/MySQL API

Python으로 Mysql 접속, 회원탈퇴 API

by 하니__ 2024. 5. 24.

 

 

회원탈퇴시

 

계정의 정보만 사라지는 경우도 있지만

 

 

이번에는

 

메모장API를 만들고 있었고

 

회원 탈퇴시

 

작성한 메모도 모두 삭제되는 API를 만들도록 하겠다

 

우선은 API 설정부터 시작하겠다

API 설정

 

 

경로는 회원가입시와 동일하고

HTTP 메소드는

DELETE로 하겠다

 

그리고 회원의 정보를 받아와야 하니

 

헤더에서 토큰을 받아올 예정이다

 

 

그리고 app.py는 수정할 것이 없으니

user.py 설정

 

 

@jwt_required()
def delete(self) : # 회원탈퇴

 

JWT 인증이 필요하니 

jwt_required를 적어주고

 

delete 함수를 적어준다

 

try :
    connection = get_connection()
    user_id = get_jwt_identity()
    query = '''delete u, m
                from user u
                join memo m
                    on u.id = m.userId
                where u.id = %s and 
                    m.userId = %s ;'''
    record = (user_id, user_id)
    cursor = connection.cursor()
    cursor.execute(query,record)
    connection.commit()
    cursor.close()
    connection.close()

 

DB와 연결을 해주고

header에서의 인증토큰으로 유저 아이디를 가져온다

그리고 쿼리문에

 

유저 테이블과 메모 테이블에서 조인을 한뒤

유저아이디가 겹치는 모든 것들을 삭제한다

 

이는 유저테이블의 해당 유저 정보

메모테이블의 해당 유저의 메모를

모두 삭제함을 의미한다

 

그리고 아래는 늘 그랬듯이 커서를 불러내고 사용하고 저장하고 사용 종료한다

 

except Error as e:
    if cursor is not None:
        cursor.close()
    if connection is not None:
        connection.close()
    return{"result" : "success","error" : str(e)}, 500

return{"result" : "success", "msg" : "deleted id"}

 

그리고 혹시 모를 에러의 경우를 위해 따로 적어주고

이상이 없을시에는 성공메세지와 함께

아이디가 삭제됐다는 문구를 내보내자

 

 

 

 

그럼 이제 유저아이디 8번인 홍끼리끼리끼리동과

유저아이디 8번이 작성한 메모를 확인후

 

 

삭제를 하면

 

 

 

회원 정보와 메모 모두 삭제되는 모습을 확인 할 수 있다

'API > MySQL API' 카테고리의 다른 글

Python으로 Mysql접속, 영화리스트 가져오는 API  (0) 2024.05.27
Python으로 Mysql 접속, 회원 정보 수정 API  (0) 2024.05.24
Python으로 Mysql 접속, 로그아웃 API  (0) 2024.05.22
로그인 API  (0) 2024.05.22
회원가입 API  (0) 2024.05.22