[Python] Restful Api에서 Get 함수 작성시 파라미터가 없으면 무시하는 방법?

조회수 986회

질문을 한줄로 요약하려니 제목이 이상해졌어요. 우선 제 상황을 말씀드리면, Flask와 Flask_restful을 사용해서 작성중입니다.

우선 Board.py는 다음과 같은 내용입니다.

from flask_restful import Resource

class Board(Resource):
    def get(self):
        # 이 부분에는 최근 게시물 20개의 내용을 불러오는 함수가 들어갈 예정
        return {'coming':'soon'}

    def get(self, id):
        #이 부분에는 id 값으로 조회한 게시물의 내용을 불러오는 함수가 들어갈 예정
        return 0

    #여기서 부터는 질문과 관계없으므로 생략. post, delete, put과 같은 메소드들을 작성할 예정입니다.
    def post(self, id):
        return

그다음 main.py는 다음과 같은 내용입니다.

# 자세한 Package import는 생략 
# 사전 준비를 위한 코드들도 생략

app = Flask(__name__)
api = Api(app)

api.add_resource(Board, '/board')

if __name__ == '__main__':
    app.run()

제가 생각하는 작동방식은

  1. http://localhost:4000/boad를 호출하면 def get(self):의 내용 즉, 최근 게시물 20개를 불러옴

  2. http://localhost:4000/boad/{id} 를 호출하면 def get(self, id):의 내용 즉, 특정 게시물을 읽어오게 하고 싶습니다.

그런데 현실적으로는 http://localhost:4000/board를 호출하면 parameter : id가 값이 없다면서 에러페이지가 뜨는데요.

어떻게 보면 당연한 것 같습니다. Board 클래스를 읽을 때, def get(self):를 읽고, def get(self, id)를 읽어서 이걸로 get함수를 대체해버리니 처음에 작성한 get함수는 사용할 수 없는 잉여코드가 되는 것 같습니다.

이런 상황을 어떻게 해결할 수 있을까요?

  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)