위의 글(insert)에서 mysql.connector를 import해서 파이썬으로 MySQL 접속할 수 있게 해주는 함수를 선언한 상태
select 하는 방법)
-> Postman에 http method는 GET, URL, Body는 none으로 작성한다.
from flask import request
from flask_restful import Resource
from mysql_connection import get_connection
from mysql.connector import Error
def get(self) :
# 1. 클라이언트로부터 데이터를 받아온다.
# 없음
# 2. db에 저장된 데이터를 가져온다
try :
connection = get_connection()
query = '''
select *
from recipe;
'''"The method is not allowed for the requested URL."
# 중요!! Select문에서 cursor를 만들 때
# 클라이언트에게 json 형식으로 보내줘야 하기 때문에
# cursor() 함수의 인자 dictionary = True로 해준다.
# 하지 않으면 리스트와 튜플의 형식으로 받아 온다.
cursor = connection.cursor(dictionary=True)
cursor.execute(query)
result_list = cursor.fetchall()
# datetime은 파이썬에서 사용하는 데이터타입이므로 json 형식이 아니다
# json은 문자열, 숫자만 가능하므로 datetime을 문자열로 바꿔줘야 한다
i = 0
for row in result_list :
result_list[i]["created_at"] = row["created_at"].isoformat()
result_list[i]["updated_at"] = row["updated_at"].isoformat()
i = i+1
cursor.close()
connection.close()
except Error as e :
print(e)
cursor.close()
connection.close()
# 유저한테 알려줘야 한다.
return {"result" : "fail", "error" : str(e)}, 500
return {"result" : "success", "items" : result_list, "count" : len(result_list)}, 200
-> 해당 코드 작성
-> status code 200과 함께 작성한 쿼리문 select * from recipe에 해당 하는 데이터들이 정상적으로 나온 모습
'Restful API' 카테고리의 다른 글
[Restful API] Rest API 개발 중, 경로에 숫자나 문자의 값이 변경 될 수 있는 경우의 처리 방법 (0) | 2023.12.06 |
---|---|
[Restful API] TypeError: Object of type ... is not JSON serializable 에러가 발생한 이유와 해결 방법 (1) | 2023.12.06 |
[Restful API] Python MySQL Connector를 이용해 insert 하는 방법 (1) | 2023.12.06 |
[Restful API] python flask에서 Resource 클래스를 이용한 API 서버 개발 (1) | 2023.12.05 |
[Restful API] 포스트맨(Postman) 설치 방법, 세팅 방법 (1) | 2023.12.05 |