본문 바로가기

Restful API28

[Restful API] TypeError: Object of type ... is not JSON serializable 에러가 발생한 이유와 해결 방법 -> TypeError: Object of type datetime is not JSON serializable 에러 발생한 이유) cursor.fetchall()로 받아온 데이터를 확인하면 datetime 타입으로 된 데이터가 있다. 클라이언트에게 json 형식으로 보내줘야 한다. json은 문자열이나 숫자만 들어갈 수 있는데, datetime 타입인 데이터가 있기 때문에 발생한 에러이다. 해결법) cursor = connection.cursor(dictionary=True) -> fetchall() 함수의 인자 dictionary = True를 넣어줘서 데이터를 리스트와 딕셔너리의 형식으로 받아온 후 i = 0 for row in result_list : result_list[i]["created_a.. 2023. 12. 6.
[Restful API] Python MySQL Connector를 이용해 select 하는 방법 위의 글(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 = '.. 2023. 12. 6.
[Restful API] Python MySQL Connector를 이용해 insert 하는 방법 import mysql.connector def get_connection() : connection = mysql.connector.connect( host = "AWS RDS의 엔드포인트", database = "해당 스키마(데이터베이스)", user = "MySQL 유저 이름", password = "해당 유저 비밀번호" ) return connection -> 먼저, mysql.connector를 import 해준 후 파이썬으로 MySQL에 접속할 수 있게 만들어준다. Postman 실행 http method를 POST로 설정 URL 입력 Body에 insert할 데이터를 json 형식으로 입력해준다. from flask import request from flask_restful import R.. 2023. 12. 6.
[Restful API] python flask에서 Resource 클래스를 이용한 API 서버 개발 API 서버 개발을 위해 클래스(RecipeListResource)를 새로 만들고, flask_restful의 Resource 클래스를 상속한다. API를 처리하는 함수는 http Method를 보고 똑같이 만들어준다. 쿼리문을 만들 때는 MySQL에서 먼저 테스트 한 후 문제가 없다면 코드를 복사해 넣는다. from flask import request from flask_restful import Resource from mysql_connection import get_connection from mysql.connector import Error # resources 폴더 안에 만드는 파일에는 API를 만들기 위한 클래스를 작성한다. # API를 만들기 위해서는 flask_restful 라이브러리.. 2023. 12. 5.
[Restful API] 포스트맨(Postman) 설치 방법, 세팅 방법 포스트맨(Postman)이란, API 개발 및 테스트를 쉽게 할 수 있도록 도와주는 프로그램이다. Postman을 사용하면 API 요청을 생성하고 테스트할 수 있으며, 요청을 전송하고 응답을 확인하는 등의 작업을 편리하게 수행 할 수 있다. 포스트맨 설치 (https://www.postman.com/downloads/) 설치 후 회원가입, 실행 한 후 Home 화면으로 와서 -> Workspaces 클릭 -> 클릭 -> 체크 후 Next 클릭 -> 개인 : Personal , 팀 : Team으로 Name과 Summary 작성 후 Create 클릭 -> 만든 workspace 들어간 후 좌측에 Collections 클릭 후 +버튼 클릭 후 Blank collection 클릭 -> 만들어진 collectio.. 2023. 12. 5.
[Restful API] python flask app.py 코드 설명 # flask 프레임워크를 이용한 Restful API 서버 개발 from flask import Flask from flask_restful import Api from resources.recipe import RecipeListResource app = Flask(__name__) api = Api(app) # API를 구분해서 실행시키는 것은 HTTP method와 url의 조합이다. # 리소스(API코드)와 경로를 연결한다. api.add_resource(RecipeListResource, "/recipes") if __name__ == "__main__" : app.run() -> API코드는 resources 폴더 안에 있는 recipe.py 파일에 따로 저장하고 import해서 쓴다. 2023. 12. 5.
[Restful API] 가상환경 설정 + 필요한 프레임워크와 라이브러리 설치 우선, 서버를 serverless 형태로 사용할 것이기 때문에 AWS 홈페이지에 접속 - 모든 서비스 보기 - 컴퓨팅 - Lambda - 함수 생성 후 지원 언어 버전을 확인한다. 그 후 Anaconda prompt 실행 후 serverless로 작업할 새로운 가상환경을 만든다. -> 람다용 파이썬 가상환경 : conda create -n 가상환경이름 python=3.10 설치 후 conda activate 가상환경이름 입력, 해당 가상환경 접속 후 필요한 프레임워크와 라이브러리 설치해준다. -> pip install flask , pip install flask-restful 2023. 12. 5.
[Restful API] API, Restful API란? 통신을 위한 REST 구성 자원(Resource) : http:// .. 라는 형태의 URI(URL) 행위(Method) : GET/POST/PUT/DELETE와 같은 메소드 표현(Message) : JSON, XML 등의 형태를 이용해 표현 URI(URL) 구성 명칭 2023. 12. 5.