REST_API

lunaxislu·2023년 12월 19일

http

목록 보기
1/3

REST_API

Representational State Transfer의 약자로서, 어떤 자원(데이터)에 대해 CRUD를 진행 할 수 있게

HTTP Method를 사용하여 요청을 보내는것.

요약하면
"URI를 통해 정보의 자원을(only 자원만을) 표현하고, 자원의 행위는 HTTP Method로 명시한다."

  • 자원(Resource) : URI
    - URL아닌가? 싶지만, 자원의 위치뿐만 아니라 자원에 대한 고유 식별자로서 URL을 의미를 포함한다.
  • 행위(Verb) : HTTP Method
  • 표현(Representations)

URL vs URI

URI : 주소에 식별자가 있으면 URI
URL : Resource 위치까지만 나타내면 URL

Sample

// todos라는 자원의 경로까지만을 나타내므로 URL
http://localhost:4000/todos

// /todos까지는 자원의 경로까지지만, 12라는 것은 식별자이므로 URI
http://localhost:4000/todos/12

// todos까지는 자원의 경로까지만 나타내므로 URL이지만
// 뒤의 query (?id=1)가 붙으므로 URL을 포함한 URI이다.
http://localhost:4000/todos?id=1

다시 돌아와서

 //Method   //URI
   DELETE     http://example.com/users/3/profile

위 요청을 볼 때

  • 행위 : DELETE - HTTP METHOD
  • 자원 : http://example.com/users/3/profile

REST_API 규칙 살짝만

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에는 파일의 확장자를 표시하지 않는다.

RestFul

위의 REST_API의 까다로운 조건을만족시킨 통신 설계상태를 말하며, 누가 보더라도 이해하기 쉽고, 사용하기 쉬운 REST API 라면 RestFul 하구나 라고 감탄사가 절로 나온다.

HTTP , REST_API 뭐가 다른거지 ??

HTTP , REST_API

HTTP

  • 서버와 브라우저가 통신 할 때 어떻게 할지에 관한 방법론
    ( 이미 전세계에서 서버와 통신 할 때 이러이러한 방식으로 서버와 client간 통신 합시다라는 지표 )

REST_API

  • HTTP 통신 방법 ( url + url메소드 )을 참고해서 만든 인터페이스이다.

  • 서버와 client간의 대화를 주고 받을 수 있는 ( = 요청과 응답 )
    http 방법론으로 만든 interface이자 실체 이다.

REST_API를 사용하려면

  • url path(.com/path) + url메서드 가 한쌍이다.

Sample

// ex)
https:naver.com/webtoon 
// 네이버에다 REST_API로 webtoon을 GET요청함

0개의 댓글