Python/FLASK
[플라스크] - 비즈니스 로직
sophia02
2022. 11. 27. 00:45
비즈니스 로직은 컴퓨터 프로그램에서 데이터를 생성/표시/저장/변경 하는 부분을 말합니다.
현재 진행하고 있는 플라스크 인스타그램 서비스에서의 비즈니스 로직은 주로 api/resources에 정의되어 있습니다.
@classmethod
@jwt_required()
def put(cls, id):
"""
게시물의 전체 내용을 받아서 게시물을 수정
없는 리소스를 수정하려고 한다면 HTTP 404 상태 코드와 에러 메시지를,
그렇지 않은 경우라면 수정을 진행
"""
post_json = request.get_json()
# first-fail 을 위한 입력 데이터 검증
validate_result = post_schema.validate(post_json)
if validate_result:
return validate_result, 400
username = get_jwt_identity()
author_id = UserModel.find_by_username(username).id
post = PostModel.find_by_id(id)
# 게시물의 존재 여부를 먼저 체크한다.
if not post:
return {"Error": "게시물을 찾을 수 없습니다."}, 404
# 게시물의 저자와, 요청을 보낸 사용자가 같다면 수정을 진행할 수 있다.
if post.author_id == author_id:
post.update_to_db(post_json)
else:
return {"Error": "게시물은 작성자만 수정할 수 있습니다."}, 403
return post_schema.dump(post), 200
게시물 수정에는 입력한 데이터를 검증하고, 게시물 존재 여부를 체크하며 게시물의 저자 본인인지를 확인합니다.