[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 |