follow 서비스 구현하기
app.py에 추가하기
from resources.follow import FollowResource
api.add_resource( FollowResource , '/follow/<int:followee_id>')
resources 폴더에 follow.py 파일 생성해서 입력하기
from flask import request
from flask_jwt_extended import get_jwt_identity, jwt_required
from flask_restful import Resource
from mysql_connection import get_connection
from mysql.connector import Error
class FollowResource(Resource) :
@jwt_required()
def post(self, followee_id): #팔로우 하기
user_id = get_jwt_identity()
try :
connection = get_connection()
query='''insert into follow
(followerId, followeeId)
values
(%s, %s);'''
record = (user_id, followee_id)
cursor = connection.cursor()
cursor.execute(query, record)
connection.commit()
cursor.close()
connection.close()
except Error as e:
if cursor is not None: # null이 아니면
cursor.close()
if connection is not None:
connection.close()
return {'result': 'fail', 'error': str(e)}, 500 # 500 에러
return {'result' : 'success'}
@jwt_required()
def delete(self, followee_id): #언팔로우하기
user_id = get_jwt_identity()
try :
connection = get_connection()
query='''delete from follow where followerId = %s and followeeId = %s;'''
record = (user_id, followee_id)
cursor = connection.cursor()
cursor.execute(query, record)
connection.commit()
cursor.close()
connection.close()
except Error as e:
if cursor is not None: # null이 아니면
cursor.close()
if connection is not None:
connection.close()
return {'result': 'fail', 'error': str(e)}, 500 # 500 에러
return {'result' : 'success'}
MySQL DB에서 보면,
select * from follow;
like 서비스 구현하기
app.py에 추가하기
from resources.like import LikeResource
api.add_resource( LikeResource, '/posting/<int:posting_id>/like')
resources 폴더에 like.py 파일 생성해서 입력하기
from flask import request
from flask_jwt_extended import get_jwt_identity, jwt_required
from flask_restful import Resource
from mysql_connection import get_connection
from mysql.connector import Error
class LikeResource(Resource) :
@jwt_required()
def post(self, posting_id) : #좋아요 누르기
user_id = get_jwt_identity()
try :
connection = get_connection()
query = '''insert into `like`
(postingId, userId)
values
(%s, %s);'''
record = (posting_id, user_id)
cursor = connection.cursor()
cursor.execute(query, record)
connection.commit()
cursor.close()
connection.close()
except Error as e:
if cursor is not None: # null이 아니면
cursor.close()
if connection is not None:
connection.close()
return {'result': 'fail', 'error': str(e)}, 500 # 500 에러
return {'result' : 'success'}
@jwt_required()
def delete(self, posting_id) : #좋아요 취소
user_id = get_jwt_identity()
try :
connection = get_connection()
query = '''delete from `like` where postingId = %s and userId = %s; '''
record = (posting_id, user_id)
cursor = connection.cursor()
cursor.execute(query, record)
connection.commit()
cursor.close()
connection.close()
except Error as e:
if cursor is not None: # null이 아니면
cursor.close()
if connection is not None:
connection.close()
return {'result': 'fail', 'error': str(e)}, 500 # 500 에러
return {'result' : 'success'}
MySQL DB에서 보면,
select * from `like`;
'RestFul API' 카테고리의 다른 글
유튜브 데이터 API를 Postman(포스트맨)으로 사용하는 방법 (0) | 2024.06.12 |
---|---|
instargram 사진 포스팅 API (3) rekognition을 이용한 자동 태그 만들기 (0) | 2024.05.30 |
instargram 사진 포스팅 API (2) 회원가입, 로그인, 로그아웃 API (0) | 2024.05.30 |
instargram 사진 포스팅 API (1) 기본 세팅(Setting) 하기 (0) | 2024.05.30 |
HTTP 요청을 위한 복잡한 작업을 단순화하는 requests 라이브러리 (0) | 2024.05.30 |