REST API?

Joah·2022년 11월 7일
0

GraphQL

목록 보기
1/9

🏝 API

프로그램과 프로그램이 서로 상호작용 하기 위해 연결해주는 다리 역할인 인터페이스이다.
어플리케이션과 상호작용할 때 사용한다.
예를 들어, TV 리모콘과 같이 브라우저와 상호작용 할 수 있고, 스마트 워치, 스마트 냉장고, 인스타그램 등 다양한 서비스와 상호작용할 수 있도록 API를 제공하고 있다.
결과적으로 개발자들이 해당 사이트와 상호작용을 할 수 있는 버튼들이 API이며 서버와 상호작용을 하고 싶을 때 통신하는 방법이다.



🏝 REST API

🌈REST api를 사용한다면 통신 URL로 이루어진다.

☄️REST API
리소스나 리소스 목록을 얻을 때 URL을 사용하는 것!
즉, 서버와 소통할 때 URL을 사용하는 것이다.
해당 URL은 서버에 의해 노출되어 있다.

request → joahmovies.co/api/movies

위와 같이 URL을 통해 요청을 한다면
URL은 천개의 영화 데이터를 JSON 배열로 응답한다.
해당 JSON으로 보기 좋게 나타내는 것이 지금껏 REST API를 활용한 서버와의 소통 방법!

request → joahmovies.co/api/movies/1

아이디가 1인 영화 데이터를 받고 싶다면 위와 같이 요청한다.
해당 URL을 노출시키면 백엔드에서는 URL을 읽고 영화 목록 중 아이디가 1인 영화 정보를 응답한다.

REST API를 사용하는 이유?

  • url을 요청하고 api를 호출하여 데이터를 받아올 수 있다
    • 간단하다
    • 조직화 되어 있다
    • 이해하기 쉽다
    • 예측가능하다


🏝 HTTP + REST API

영화 목록을 가져오는 것에 뿐만 아니라
영화를 추가하고, 수정하고, 삭제하기 위해서는 HTTP와 함께 사용하자!

request → joahmovies.co/api/movies/create

🚫 API에 동사를 넣는 것은 BAD IDEA🚫

새로운 영화를 추가한다는 것? 그럼 create라고 사용하면 되겠지!
라는 것은 나의 생각이고 다른 사람은 add 또는 upload라고 생각할 수도 있다.

그럼 해당 API를 제공하는 공식문서에서 영화를 추가할 때 어떤 단어를 사용하는지 찾아봐야 한다. 직관적이지 않으며 URL에 동사를 넣는 것은 좋은 관행이 아니다.

🌈 따라서 HTTP 메소드에 의존한다!

request → joahmovies.co/api/movies
request → joahmovies.co/api/movies/1

위와 같이 웹사이트에 요청을 보낼때 브라우저는 항상 get 요청을 보낸다.
즉, 달라는 것! give it to me
"영화 목록을 줘!"
"영화 목록에서 아이디 1인 영화 데이터를 줘!"

HTTP + REST API

GET joahmovies.co/api/movies
//joahmovies 사이트에 있는 모든 영화 정보를 받아온다. 

POST joahmovies.co/api/movies
//joahmovies 사이트에 새로운 영화를 추가한다.

PUT joahmovies.co/api/movies/1
//joahmovies 사이트에 아이디가 1인 영화 정보를 업데이트(수정)한다.

DELETE joahmovies.co/api/movies/1
//joahmovies 사이트에 아이디가 1인 영화를 삭제한다.

URL의 주소는 같지만 어떤 메서드를 사용하는지에 따라서 백엔드 서버는 다른 일을 할 것이다.
따라서 URL 주소에는 명사만 넣고 HTTP 메소드만 넣으면 다양한 처리를 할 수 있다.

profile
Front-end Developer

0개의 댓글