Restful API 20

[Restful API] Python MySQL Connector update

포스트맨을 실행시켜 PUT로 설정하고 URL 입력raw JSON형식으로 DB에 업데이트할 정보를 입력  Visual Studio Code에서 코드 작성변경 사항은 실제로는 데이터베이스에 반영되기 전에 메모리에만 저장된다.이렇게 메모리에 저장된 변경 사항을 데이터베이스에 영구적으로 적용하기 위해 commit()을 호출한다.class RecipeResource(Resource): def put(self, recipe_id): # 1. 클라이언트로부터 데이터를 받아온다. data = request.get_json() print(recipe_id) # 2. DB 에 수정한다. try: connectio..

Restful API 2024.05.21

[Restful API] Python 에서 MySQL 커넥션

Python을 사용하여 MySQL 데이터베이스에 연결하는 방법데이터베이스 연결 설정을 별도의 설정 클래스에 저장하고해당 설정을 사용하여 MySQL 데이터베이스에 연결하는 함수 get_connection을 정의 1. 전용 DB 유저 생성 특정 디비만 접속할 수 있는 계정을 하나 만든다. MySQL Workbench에서 코드를 실행 use mysql;create user '사용할 유저 이름'@'%'identified by '비밀번호';grant all on 사용할DB.* to '사용할 유저 이름'@'%';# %는 와일드카드로, 모든 호스트를 의미# 간단히 말해, '사용할 유저 이름'@'%' 는 # 해당 사용자가 어떤 IP 주소를 가진 호스트에서든 접근할 수 있도록 허용한다는 것을 의미# 보안 상의 이유로 실..

Restful API 2024.05.21

[Restful API] Python MySQL Connector select, 특정 1개 select

포스트맨에서 GET 으로 설정하고 URL을 입력GET과 DELETE는 Body를 설정하지 않는다. 중요!!1. select문은 cursor가져올때 dictionary=True (하지 않으면 튜플 형태로 가져오기 때문에 json 형태가 아님)2. DB에서 가져온 timestamp는 파이썬에서 datetime으로 자동 변환되는데    datetime은 json으로 보낼 수 없다.    따라서 시간을 문자열로 변환해서 보내준다.    from flask import requestfrom flask_restful import Resourcefrom mysql_connection import get_connectionfrom mysql.connector import Errorclass RecipeListResou..

Restful API 2024.05.21

[Restful API] Python MySQL Connector insert

POST로 설정된 포스트맨에서 URL을 입력하고 raw JSON 형식으로 DB에 추가할 정보를 입력  Visual Studio Code에서 다음과 같은 코드를 작성from flask import requestfrom flask_restful import Resourcefrom mysql_connection import get_connectionfrom mysql.connector import Errorclass RecipeListResource(Resource): def post(self): # 1. 클라이언트가 보내준 데이터가 있으면 그 데이터를 받아준다. data = request.get_json() # 2. 이 정보를 DB에 저장한다...

Restful API 2024.05.21

[Restful API] Python Flask로 RESTful API 서버 개발, Resource 클래스 활용

클래스는 변수와 함수로 구성된 묶음이며 API를 만들기 위해서는 flask_restful 라이브러리의 Resource 클래스를 상속해야 한다.  API를 처리하는 함수를 개발할 때는 HTTP Method에 따라서 동일한 기능을 제공해야 한다.쿼리문은 MySQL Workbench에서 먼저 테스트하고 코드를 복사하여 붙여넣는 것이 좋다. from flask import requestfrom flask_restful import Resourcefrom mysql_connection import get_connectionfrom mysql.connector import Errorclass RecipeListResource(Resource): def post(self): # 1. 클라이언..

Restful API 2024.05.21

[Restful API] API 경로와 Resource 클래스 연결

from flask import Flaskfrom flask_restful import Apifrom resources.test import TestResourceapp = Flask(__name__)api = Api(app)# 경로(path)와 리소스(API 코드)를 연결한다.api.add_resource(TestResource, '/hello')if __name__ == '__main__': app.run() from flask_restful import Resource# API 를 처리하는 코드는# Resource 클래스를 상속받아서 작성한다.# 이 클래스에는 get, post, put, delete 함수를 상속받는다.# 따라서 이 함수들을, 우리 서비스에 맞게 수정해서 사용하면 된다.clas..

Restful API 2024.05.20

[Restful API] python flask app.py 파일 코딩

Visual Studio Code 에서 python flask app.py 파일 코딩from flask import Flaskfrom flask_restful import Api# resouces > recipe.py 의 class 를 import 해서 경로로 사용from resources.recipe import RecipeListResourceapp = Flask(__name__)api = Api(app)# 경로(path)와 리소스(API 코드)를 연결한다.api.add_resource(RecipeListResource, '/recipes')if __name__ == '__main__': app.run()from flask_restful import Resourceclass RecipeListR..

Restful API 2024.05.20

[Restful API] Restful API 란?

API(Application Programming Interface) 란?- 응용 프로그램에서 사용할 수 있도록  운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다.- API를 통해 소스 및 DB에는 접근하지 못하게 하고 해당 프로그램을 사용할 수 있도록 기능을 제공하게 하는 것이다.  REST  (Representational State Transfer) - 서버나 서비스에 존재하는 모든 자원(이미지, 동영상, DB자원)에 고유한 URI를 부여해 활용하는 것   => 자원을 정의하고 자원에 대한 주소를 지정하는 방법론을 의미 Restful APIREST 아키텍처 스타일을 따르는 API  =>  REST API 통신을 위한 REST의 구성자원(Resource) : h..

Restful API 2024.05.20