[TIL] 10월 13일: Query String, Path Variable
2차 프로젝트에서 REST API를 개발할 때 Query String을 사용해야 할지 Path Variable을 사용해야 할지 고민이 생겼다. 지금까지는 두 가지를 구별해서 쓴다기보다 개발할 때 편한 것을 선택해서 섞어서 사용했던 것 같다. 그래서 오늘 Query String과 Path Variable은 언제 쓰는지에 대해 적으려고 한다.
Query String 방식
/board?sort=like
? 뒤에 sort란 변수에 값을 담아 서버로 전달하는 방식이 Query String이다. board의 정렬 방식을 like(좋아요순)으로 하겠다는 의미다.
Flask에서는
@app.route('/board', methods=['GET'])
def show_board():
sort_type = request.args.get('sort')
...
이렇게 사용할 수 있는데 /board?sort=like에서 "like"는 sort_type 변수에 저장이 된다. 즉, sort_type 변수에 담기는 값에 따라 필터링할 때(예시) Query String 방식을 사용하는 것이 좋다.
Path Variable 방식
/board/1
/board/{id}로 했다면 id에 1이 들어오는 요청을 받아 서버에서 처리를 하고 응답을 한다는 의미다.
Flask에서는
@app.route('/board/<id>', methods=['GET'])
def show_detail(id):
post = db.board.find_one({"id": int(id)})
...
이렇게 사용할 수 있는데 /board/🔥에서 🔥에 들어오는 값이 선언한 함수의 매개변수에 담긴다. 따라서 이 매개변수 값으로 원하는 로직을 구성하면 된다. 예를 들어 이 매개변수 값으로 db에서 조회해서 나온 결과를 이용해 개발할 수 있다. 어떤 자원(데이터)의 위치를 특정해서 보여줘야 할 경우 Path Variable 방식을 사용하는 것이 좋다.
Author And Source
이 문제에 관하여([TIL] 10월 13일: Query String, Path Variable), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@rudwnd33/TIL-10월-13일저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)