본문 바로가기

API27

AWS - S3 사진 업로드 API, boto3 API 설정 경로는 /uploadHTTP 메소드는 CRUD중 Create에 해당하는POST 설정 사진의 데이터는 아래와 같이form-data에서 밸류에서 선택사진과 함께 텍스트가 들어간다면 마찬가지로 키의 컨텐츠라고 입력, 텍스트 선택,밸류에 메세지를 입력하자 app.py 설정 설정하기에 앞서 라이브러리 하나를 설치하자파이썬코드로 AWS 기능들을 사용할 수 있게 해주는 라이브러리인 boto3  pip install boto3    app.py 설정from flask import Flaskfrom flask_restful import Apifrom resources.image import FileUploadResourceapp = Flask(__name__)api = Api(app)# 경로와 리소스 연결a.. 2024. 5. 28.
Python으로 Mysql 접속, 영화추천 API 이런 서비스를 만든다고 할때  API 설정  HTTP 메소드는CRUD중 Read인Get으로 설정 10개만 보여주기로 하니 count라는 변수를 10개로 설정 app.py 설정api.add_resource(MovieRecommendResources, '/movie/recommend') recommend.py 설정 class MovieRecommendResources(Resource) : @jwt_required() def get(self): count = request.args.get('count') count = int(count) user_id = get_jwt_identity() 새로운 클래스를 만들고 인증토큰이 필요하니 jwt_.. 2024. 5. 27.
Python으로 Mysql접속, 영화리스트 가져오는 API 이런 페이지를 만들어야 한다면 우선 로그인이 되어 있어야 한다,즐겨찾기 구분을 해줘야하고, 영화 이름 정보를 가져와야하고,리뷰 갯수 토탈과, 별점 평균을 구해야하고 옾셋, 리밋 25로 설정한 것으로 리뷰로 정렬한 페이지별점으로 정렬한 페이지 를 만들면 되겠다 API 설정 HTTP 메소드는CRUD중 Read에 해당하는GET로 설정후 offset과 limit을 설정정렬에 해당하는 order는 리뷰갯수로 일단 설정후 나중에 별점평균으로 설정하고 싶다면 바꾸라는 메세지를 추가로 작성해준다 app.py 설정api.add_resource(MovieResources, '/movie')경로 설정해주고 다음으로 넘어간다 movie.py 설정 class MovieResources(Resource) : @jw.. 2024. 5. 27.
Python으로 Mysql 접속, 회원 정보 수정 API 이번엔 유저의 정보 수정이다  API 설정경로는 회원가입과 같은 유저의 레지스터 그리고 HTTP 메소드는CRUD의 Update에 해당하는PUT으로 설정한다 그리고 헤더에는 인증토큰을 받아오고바디에 는 수정하는 정보들을 입력한다 사진에는 이메일이 적혀있지만이메일은 로그인을 할때 신분을 확인하는 고유한 값이므로수정을 할 수 없다 다음은 user.py 수정 @jwt_required()def put(self) : # 회원정보 수정 역시 인증이 필요하니 jwt_required를 적어준 뒤put 함수를 적어준다  data = request.get_json()if data.get('password') is None or data.get('password').strip() == '' or \ data.get('n.. 2024. 5. 24.
Python으로 Mysql 접속, 회원탈퇴 API 회원탈퇴시 계정의 정보만 사라지는 경우도 있지만  이번에는 메모장API를 만들고 있었고 회원 탈퇴시 작성한 메모도 모두 삭제되는 API를 만들도록 하겠다 우선은 API 설정부터 시작하겠다API 설정  경로는 회원가입시와 동일하고HTTP 메소드는DELETE로 하겠다 그리고 회원의 정보를 받아와야 하니 헤더에서 토큰을 받아올 예정이다  그리고 app.py는 수정할 것이 없으니user.py 설정  @jwt_required()def delete(self) : # 회원탈퇴 JWT 인증이 필요하니 jwt_required를 적어주고 delete 함수를 적어준다 try : connection = get_connection() user_id = get_jwt_identity() query = '''del.. 2024. 5. 24.
Python으로 Mysql 접속, 로그아웃 API 1. API 설정경로는 유저의 로그아웃으로 설정 HTTP 메소드는 아무래도 끝내는거니까 delete로 해서 2. app.py 설정 api.add_resource(UserLogoutResource, '/users/logout')로 경로를 만들어준뒤2 - 1. 로그아웃된 토큰으로 요청하는 경우, 처리하는 함수 작성@jwt.token_in_blocklist_loaderdef check_if_token_is_revoked(jwt_header, jwt_payload): jti = jwt_payload['jti'] return jti in jwt_blacklist를 app = flask 와 api = Api(app)사이에 넣는다 이 함수는 jwt가 블랙리스트에 있는지 체크하게 되는데 아래에서 후술할 블랙.. 2024. 5. 22.