분류 전체보기
API서버 - Flask JWT를 사용한 회원가입 API 만들기
0. user 테이블 구조 1. MySQL에 접속하는 함수 # mysql_connection.py 파일 import mysql.connector from config import Config def get_connection(): connection = mysql.connector.connect( host= Config.HOST, database= Config.DATABASE, user= Config.DB_USER, password= Config.DB_PASSWORD ) return connection 2. 비밀번호를 암호화하는 함수 비밀번호는 개발자도 파악할 수 없도록 단방향 암호화한다. # utils.py 파일 from passlib.hash import pbkdf2_sha256 from config..
API서버 - Python MySQL Connector를 이용해 delete하기(DELETE 메소드)
mysql_connection.py 파일 # MySQL에 접속하는 함수 import mysql.connector from config import Config def get_connection(): connection = mysql.connector.connect( host= Config.HOST, database= Config.DATABASE, user= Config.DB_USER, password= Config.DB_PASSWORD ) return connection API 리소스를 관리하는 recipe.py 파일 from flask import request from flask_restful import Resource from mysql_connection import get_connection ..
API서버 - Python MySQL Connector를 이용해 update하기(PUT 메소드)
mysql_connection.py 파일 # MySQL에 접속하는 함수 import mysql.connector from config import Config def get_connection(): connection = mysql.connector.connect( host= Config.HOST, database= Config.DATABASE, user= Config.DB_USER, password= Config.DB_PASSWORD ) return connection API 리소스를 관리하는 recipe.py 파일 from flask import request from flask_restful import Resource from mysql_connection import get_connection ..
REST API - GET할 때 TypeError
DB에 TIMESTAMP로 된 컬럼이 있었는데 GET메소드로 가져오니까 datetime으로 바뀌었다. 클라이언트한테 json 형식으로 데이터를 보내줘야 하는데, datetime은 json으로 보낼 수 없기 때문에 에러가 발생한다. 따라서 시간을 문자열로 변환해서 보내준다. cursor = connection.cursor(dictionary=True) cursor.execute(query) result_list = cursor.fetchall() # datetime은 json으로 보낼 수 없다. # 따라서, 시간을 문자열로 변환해서 보내준다. i = 0 for row in result_list: result_list[i]['created_at'] = row['created_at'].isoformat() r..
API서버 - Python MySQL Connector를 이용해 select하기(GET 메소드)
mysql_connection.py 파일 # MySQL에 접속하는 함수 import mysql.connector from config import Config def get_connection(): connection = mysql.connector.connect( host= Config.HOST, database= Config.DATABASE, user= Config.DB_USER, password= Config.DB_PASSWORD ) return connection API 리소스를 관리하는 recipe.py 파일 class RecipeListResource(Resource) : # GET 메소드를 처리하는 함수 def get(self): # 1. 클라이언트로부터 데이터를 받아온다. # get은 받아..
API서버 - Python MySQL Connector를 이용해 insert하기(POST 메소드)
mysql_connection.py 파일 # MySQL에 접속하는 함수 import mysql.connector from config import Config def get_connection(): connection = mysql.connector.connect( host= Config.HOST, database= Config.DATABASE, user= Config.DB_USER, password= Config.DB_PASSWORD ) return connection API 리소스를 관리하는 recipe.py 파일 from flask import request from flask_restful import Resource from mysql_connection import get_connection ..
Python Flask를 사용한 REST API서버 개발방법
API 서버 개발과정은 크게 화면기획서 > DB 테이블 설계 > API 서버 개발의 과정으로 이루어진다. 그 중 마지막 과정인, Python의 Flask 프레임워크를 사용한 REST API 서버 개발 방법에 대해 알아보자. from flask import Flask from flask_restful import Api app = Flask(__name__) api = Api(app) # api.add_resource(클래스명, 경로) # api.add_resource(RecipeListResource, '/recipes') # api.add_resource(RecipeResource, '/recipes/') # api.add_resource(RecipePublishResource, '/recipes//p..
API 서버 개발환경 구축 - python 가상환경, 필요한 라이브러리 설치
API를 개발하여 최종적으로 Amazon AWS의 Lambda로 서비스 할 것이기 때문에, Lambda에서 지원하는 python 3.9 버전을 사용해야 한다. 새로운 가상환경을 만들고 필요한 라이브러리들을 설치한다. $ conda create -n lambda39 python=3.9 numpy scipy matplotlib ipython scikit-learn pandas pillow jupyter seaborn $ conda activate lambda39 $ pip install flask $ pip install flask-restful