REST(Path Variablel, Query Parameter)

최재홍·2023년 4월 20일
0

REST API

Representational State Transfer의 약자로서, 어떤 자원에 대해 CRUD를 진행할 수 있게 HTTP Method(GET, POST, PUT, DELETE)를 사용하여 요청을 보내는 것.

간단히 말하면 "URI를 통해 정보의 자원(only 자원)을 표현하고, 자원의 행위HTTP Method로 명시한다"

RESTful한 표현

GET /users/3/profile

URI : users/3/profile
HTTP Method : GET

"유저 3번의 프로파일을 줘!"

ex)

// bad
GET /members/delete/1
// good
DELETE /members/1

// bad
GET /members/show/1
// good
GET /members/1

// bad
GET /members/insert/2
// good
POST /members/2
http://example.com/posts     (O)
http://example.com/posts/    (X)
http://example.com/post      (X)
http://example.com/get-posts (X)
--> URI는 명사를 사용하고 소문자로 작성되어야 한다.
--> 명사는 복수형을 사용한다.
--> URI의 마지막에는 /를 포함하지 않는다.

http://example.com/post-list  (O)
http://example.com/post_list  (X)
--> URI에는 언더바가 아닌 하이픈을 사용한다.

http://example.com/post/assets/example  (O)
http://example.com/post/assets/example.png  (X)
--> URI에는 파일의 확장자를 표시하지 않는다.

Path Variable vs Query Parameter

Path Variable

/users/10

  • 이름에서도 유추할 수 있듯, 경로 자체에 변수(10)를 사용한 방법이다.
  • 전체 데이터 또는 특정 하나의 데이터를 다룰 때 처럼, 리소스를 식별하기 위해 사용된다.

Query Parameter

/users?user_id=10

데이터를 정렬하거나 필터링 하는 경우 더 적합하다.

0개의 댓글