[drf]airbnb-api -1 intro

Hyeseong·2021년 3월 24일
0
post-thumbnail

👩‍💻REST API가 뭔데요?

Representational state transfer

URL을 이용해서 서버와 서로 의사소통하는 API!

예를들어 누군가가

/login 이라는 url로 간다면 당연히 로그인 페이지를 크롬에서 보여줄겁니다. 결국 restapi의 구조가 처음 접하는 사람에게는 이런 느낌이라는 사실을 어느정도 인지하고 출발해도 될거에요.

⛄예시를 들어보조!

https://yts.mx/api

사이트에서 제공하는 API Endpoints들이 잘 정리되어 있는걸 확인 할 수 있어요.

만약 json형태의 데이터들을 받아오고 싶다면 어떻게 해야할까요?
`yts.lt/api/v2/list_movies.json' 이! URL을 주소창에 땅! 하고 떄려 넣으면 아래와 같이 엄청난 데이터들이 쏟아져 들어옵니다.

참고로 시각적으로 저렇게 뭐가 뭔지 하나도 모를 때에는 Chrome Extension중 하나인 Json Viewer라는 녀석을 다운받으면 이쁘게 출력되요.

즉, 특정 URL로 가서 클라이언트가 원하는 데이터를 가져오는 것! 그게 핵심이네요.

여러 곳에서 사용되겠지만 이 데이터를 이용해서 프런트에서는 ReactJS를 이용해서 멋진 페이지를 만들 수 있어요.

추가로 더 https://yts.mx/api의 Endpoint를 살펴 볼게요.
특정 영화 하나를 살펴 본텐데요. 그럼 Detail Endpoint로 가줘야해요.

파라미터가 필요하다고 나와있조. ?movie_id=10을 입력해볼게요.

URL에 그대로 입력해볼게요. 그럼 아래와 같이 json 데이터를 불러오게 됩니다. 쉽조?!

여기에는 어떤 메뉴도 버튼도 없습니다. 오직 `URL만 입력해서 서버와 통신하여서 DB에서 데이터를 불러오고 있어요.'

기존 django의 MVT패턴이었다면 Template에 넘겨주기 위해 랜더링했겠지만 여기서는 어떠한 것도 랜더링하지 않았어요.
생각해보면 기존 django의 MVT패턴보다 더 쉽게 백엔드를 작업하도록 해주고 있어요.

🧚‍♀️뷰~우티풀한 REST API 만들기

아름다운 REST API를 만들기 이전 URL을 다루는 HTTP request method를 알고 있어야해요.

링크 클릭

다른 참고할 만한 REST API Design 예시 사이트 중 한 곳은
참고 링크 클릭!

API 디자인 규칙

  • 동사(노우!)
  • 명사 ㅇㅋ!
  • 복수 사용 ㅇㅋ!
  • ? 물음표 사용을 통한 쿼리 스트링 사용

디자인 구조 예시

ResourcePOSTGETPUT
/moviesCreate a MovieGet all MoviesError
/movies/the-godfatherErrorShow ‘The Godfather’Exists ? Update : Error
profile
어제보다 오늘 그리고 오늘 보다 내일...

0개의 댓글