Restful API 20

[Restful API] Naver 뉴스 검색 API 사용

https://developers.naver.com/apps/#/register 애플리케이션 - NAVER Developers developers.naver.com링크에 들어가서 로그인 후애플리케이션 이름과 사용할 API, 비로그인 오픈 API 서비스 환경을 알맞게 지정하고API 이용 신청Client ID, Client Secret 키를 받는다. https://developers.naver.com/docs/serviceapi/search/news/news.md#%EB%89%B4%EC%8A%A4-%EA%B2%80%EC%83%89-%EA%B2%B0%EA%B3%BC-%EC%A1%B0%ED%9A%8C뉴스 검색 API 를 사용해보자!  포스트맨에서 테스트헤더 부분에 X-naver-Client-Id 와 X-Nave..

Restful API 2024.05.29

[Restful API] S3에 저장한 이미지 객체 탐지하는 API(Rekognition)

객체 감지(Object Detection)는 컴퓨터 비전 분야의 한 기술로 이미지나 비디오에서 객체를 인식하고 해당 객체의 위치를 파악하는 작업을 의미객체 감지 기술은 이미지 내에서 특정 객체(예: 사람, 자동차, 동물 등)를 찾아내고, 그 객체의 boundary box를 표시하여 위치를 식별한다.   포스트맨에서 API 설계 시작   Visual Studio Code를 실행해 코드를 작성 rekognition을 사용하기 위해서 IAM에서 AmazonRekognitionFullAccess 권한 추가하고 진행한다. Amazon Rekognition 메뉴얼 확인은https://docs.aws.amazon.com/ko_kr/rekognition/latest/dg/labels-detect-labels-image..

Restful API 2024.05.28

[Restful API] 이미지 S3에 업로드하는 API 만들기, boto3

포스트맨에서 API 설계부터 시작경로 설정해주고 Body 에서 form-data키값을 입력해주고 파일로 지정해서 밸류에 이미지를 업로드  Visual Studio Code를 실행해 코드를 작성하기 전에boto3 를 설치하자 !boto3 => 파이썬 코드로 aws의 여러 서비스들을 사용할 수 있도록                 aws가 만들어준 라이브러리pip install boto3 설치가 완료되면 코드 작성1. app.pyfrom flask import Flaskfrom flask_restful import Apifrom resources.image import FileUploadResourceapp = Flask(__name__)api = Api(app)# 경로와 리소스를 연결api.add_resou..

Restful API 2024.05.28

[Restful API] 영화 추천 API 만들기

API 설정app.py 에 경로 추가api.add_resource(MovieRecommendResource,'/movie/recommend') recommend.py 파일 만들고 코랩에서 작업하는 과정을 VScode 로 진행한다.from flask import requestfrom flask_jwt_extended import get_jwt_identity, jwt_requiredfrom flask_restful import Resourceimport pandas as pdfrom mysql_connection import get_connectionfrom mysql.connector import Errorclass MovieRecommendResource(Resource): @jwt_req..

Restful API 2024.05.27

[Restful API] 로그아웃 시키는 방법

로그아웃 된 토큰을 관리할 set 생성# 로그아웃된 토큰을 저장할 set 을 만든다.# 로그아웃된 토큰의 식별자(JTI)를 저장하여 추후 요청에서 해당 토큰이 사용되지 못하게 한다.jwt_blacklist = set()class UserLogoutResource(Resource): @jwt_required() def delete(self): # 현재 요청에서 사용된 JWT 토큰의 JTI(JWT ID)를 가져옴 # JTI는 토큰의 고유 식별자 jti = get_jwt()['jti'] # 현재 사용된 JWT 토큰의 JTI를 블랙리스트에 추가 # 이를 통해 이 토큰이 이후에 더 이상 사용되지 못하도록 한다. jwt_..

Restful API 2024.05.22

[Restful API] 회원가입 / 로그인 API 에서 토큰 생성해서 처리하는 방법

회원가입 API에서 토큰 생성해서 처리하는 코드 작성from email_validator import EmailNotValidError, validate_email# 이메일 주소가 올바른지 확인하기 위한 라이브러리from flask import requestfrom flask_jwt_extended import create_access_tokenfrom flask_restful import Resourcefrom mysql_connection import get_connectionfrom mysql.connector import Errorfrom utils import check_password, hash_passwordclass UserRegisterResource(Resource): def po..

Restful API 2024.05.22

[Restful API] Flask 에서 JWT 설치 및 설정하는 방법

설치pip install flask-jwt-extended Config 파일의 클래스 안에 JWT 관련 변수 세팅class Config : # JWT 관련 변수 셋팅 JWT_SECRET_KEY = '1a2a3a4a5a' JWT_ACCESS_TOKEN_EXPIRES = False # 만료없이 설정 PROPAGATE_EXCEPTIONS = True # 에러가 나면 보여줄것 app.py의 환경변수 세팅 밑에 JWT매니저 초기화 코드 입력from flask import Flaskfrom flask_jwt_extended import JWTManagerfrom flask_restful import Apifrom config import Configapp = Flask(__name__)# 환경..

Restful API 2024.05.22

[Restful API] Python MySQL Connector delete

포스트맨에서 DELETE 로 설정하고 URL을 입력GET과 DELETE는 Body를 설정하지 않는다.Visual Studio Code에서 코드 작성 변경 사항은 실제로는 데이터베이스에 반영되기 전에 메모리에만 저장된다. 이렇게 메모리에 저장된 변경 사항을 데이터베이스에 영구적으로 적용하기 위해 commit()을 호출한다.class RecipeResource(Resource): def delete(self, recipe_id): print(recipe_id) try: connection = get_connection() query = '''delete from recipe where id = %s..

Restful API 2024.05.21