[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()
제가 생각하는 작동방식은
http://localhost:4000/boad를 호출하면 def get(self):의 내용 즉, 최근 게시물 20개를 불러옴
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함수는 사용할 수 없는 잉여코드가 되는 것 같습니다.
이런 상황을 어떻게 해결할 수 있을까요?
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력