본문 바로가기
Python/FLASK

[플라스크] - 비즈니스 로직

by sophia02 2022. 11. 27.

비즈니스 로직은 컴퓨터 프로그램에서 데이터를 생성/표시/저장/변경 하는 부분을 말합니다.

현재 진행하고 있는 플라스크 인스타그램 서비스에서의 비즈니스 로직은 주로 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

게시물 수정에는 입력한 데이터를 검증하고, 게시물 존재 여부를 체크하며 게시물의 저자 본인인지를 확인합니다.

 

 

 

'Python > FLASK' 카테고리의 다른 글

Flask - 인스타그램 클론코딩(댓글 수정, 삭제 구현)  (0) 2022.11.20
플라스크 - WSGI?  (0) 2022.11.13
인스타그램 클론코딩하기  (0) 2022.11.06
오류 모음집  (0) 2022.10.09
직렬화/ 역직렬화 처리하기  (0) 2022.09.12