-
Param, Query, Body개발/백엔드 2022. 8. 17. 17:26반응형
그동안 특히 param과 query에 대한 명확한 구분 없이 혼용해서 사용했던 것 같다.
제대로 정리해서 보다 명확하고 보기 좋은 API를 생산해야겠다.
1. req.param
주소에 포함된 변수.
e.g) https://jaytsol.tistory.com/entry/이미지에-속지-마라
이 경우 entry와 '이미지에-속지-마라'가 param이 되겠다.
2. req.query
주소 바깥의 ? 이후의 변수.
e.g) https://www.youtube.com/results?search_query=%EC%BF%BC%EB%A6%AC
유튜브에 '쿼리'를 검색했을때 나오는 주소.
이 경우 search_query=%EC%BF%BC%EB%A6%AC 가 query가 되겠다.
3. req.body
XML, JSON, Multi Form 등의 데이터를 담는다.
주소에는 노출되지 않는 정보이므로 담아 보내는 정보를 은닉하고 싶을 때 이용하면 되겠다.
body의 경우 그 사용처가 명확하기에 헷갈릴 일이 없지만,
param과 query를 구별해서 사용하는 데에는 제각각 어떤 의의가 있을까?
내 생각에는 카테고리 구분과 같은 비교적 덜 변경되는, 반고정적인 이름은 param으로 쓰고,
자주 변경되는, 예를 들어 검색어나 필터값같은 경우에 query를 쓰는게 더 깔끔한 것 같다.
현재 티스토리에는 '이미지에-속지-마라'라는 글 제목이 param으로 되어있는데,
글 제목은 자주 추가될 뿐, 자주 변경되지는 않기에 param으로 보내는게 좋은 것일까?
한편 또 티스토리에서 블로그 검색 기능을 이용하면,
jaytsol.tistory.com/search/kafka와 같이 여전히 param을 사용하는 점이 특이하다.
무엇이 옳고 그른지는 명확히 말할 수 없는 부분이나,
적어도 이런 구분이 있다는 것을 이해하고,
본인만의 명확한 기준을 세우고 param과 query를 구분하여 사용해야겠다.
반응형'개발 > 백엔드' 카테고리의 다른 글
MongoDB aggregation: $lookup, $unwind, $project (0) 2022.09.29 JavaScript에서의 객체 순서 보장법 (1) 2022.09.26 Kafka - Acks 옵션 (0) 2022.07.26 Kafka produce시 key-value값에 대해 (0) 2022.07.25 Bull Queue -> Kafka migration 시작 (0) 2022.07.21