본문 바로가기
API/MySQL API

게시글 수정API, update

by 하니__ 2024. 5. 21.

[API] - Python으로 Mysql 접속, 특정 정보만 읽는 법

 

위의 링크를 읽어야 이해하기 쉽다

 

API 설정

HTTP 메소드는

CRUD 중 Update인

PUT 설정

 

그리고 body에 수정내용을 적어준다

 

 

1. app.py 수정

 

put 함수로 진행하고

recipe_id는 경로로서 제공받고

data는

수정하는 클라이언트에게서 받을것이므로

아래와 같이 작성한다

def put(self, recipe_id) :
        
        # 1. 클라이언트로부터 데이터를 받아온다
        print(recipe_id)
        data = request.get_json()

 

 

2. DB 연결과 쿼리 수정
try :
    connection = get_connection()

    query = '''update recipe
                set name = %s,
                description = %s,
                num_of_servings = %s,
                cook_time = %s,
                directions = %s
                where id = %s;'''
    record = (data['name'],
              data['description'],
              data['num_of_servings'],
              data['cook_time'],
              data['directions'],
              recipe_id)

쿼리에서 서로 매칭되는 데이터들은 %s 로 적고

record로 해당하는 데이터들이 어떤 데이터들인지 각각 적어준다

 

 

3. 커서 불러오기, 실행, 커밋, 자원해제
cursor = connection.cursor(dictionary=True)
cursor.execute(query,record)

connection.commit()

cursor.close()
connection.close()

커서를 불러오면서 딕셔너리를 트루로 사용하겠다고 체크

그리고 사용

 

커밋후

 

사용을 다했으니 클로즈 해주자

 

 

4. 예외경우 (에러)
except Error as e:
    if cursor is not None:
        cursor.close()
    if connection is not None:
        connection.close()
    return {"result" : "fail","error": str(e)}, 500

 

 

사실 이 부분은 그냥 copy&paste다

 

 

5. 결과를  클라이언트에게 JSON으로 리턴
return {"result" : "success"}

 

 

 

이렇게 하게 되면

 

 

 

수정시간을 확인하면 알 수 있겠지만

 

수정이 잘 되는것을 확인 할 수 있다

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

게시글 비공개,공개하는 API  (0) 2024.05.21
게시글 삭제API, delete  (0) 2024.05.21
특정 게시글 읽는 API, select where  (0) 2024.05.21
게시글 읽는 API, select *  (0) 2024.05.21
게시글 생성 API, insert into  (0) 2024.05.21