TIL43 - REST

Kiyong Lee·2021년 10월 9일
0

목록 보기
4/12

REST


REST란?

REST란 REpresentional State Transfer의 약자로,
웹상에 존재하는 모든 자원에 고유한 URI를 부여하여
자원에 대한 주소를 지정하는 방법론, 규칙을 말한다.


규칙

  • url은 페이지 기준이 아닌 자원 기준으로 작성한다.
  • 동사로 작성하지 않는다.
  • HTTP Method를 정의하기 때문에 url에 add, search 같은 걸 쓰지 않는다.
  • 검색 키워드는 body를 통해 전달하지 않고 Query String을 사용한다.
  • 언더바를 사용하지 않고 '-'를 사용한다.

틀린 예시

  1. http://127.0.0.1:8000/product/main_page_product

자원 기준이 아닌 페이지 기준이 되었다.
언더바를 사용했다.

  1. http://127.0.0.1:8000/store/find_store

동사를 사용했다.
HTTP Method가 정의됨에도 find를 사용

  1. http://127.0.0.1:8000/product/add_first_item_information?name='자켓' &category='의류'

2번과 동일한 두 가지 이유를 사용했다.
언더바를 사용했다.


QueryParameter vs PathParameter


QueryParameter

url 주소를 보면 ?가 포함되어있는 걸 볼 수 있다.
뒤에 key=value 형태로 나오는데, 이 형태를 쿼리파라미터라고 한다.

주로, 데이터를 필터링, 정렬, 검색하고자 할 때 활용된다.


PathParameter

쿼리 파라미터와 달리 자원을 식별하려고 할 때 사용한다.

차이가 애매하다고 느껴질 수 있는데

/users?id=123
/users/123

이 두가지를 통해 비교해보면 알 수 있다.

첫 번째 쿼리파라미터는 유저 중 아이디가 123인 유저가 있는지 찾아보겠다!
두 번째 패스파라미터는 유저 아이디가 123의 상세정보를 보여달라!

이 뜻이다.

위에서 언급했지만, 필터링 목적은 쿼리파라미터, 상세정보 목적은 패스파라미터
라고 이해하면 된다.

profile
ISTJ인 K-개발자

0개의 댓글