API 실습

2020. 9. 2. 23:23카테고리 없음

@지난 포스트를 확인하자.

blossomwhale.tistory.com/7

 

@클라이언트와 서버는 알겠어, 근데 API가 그래서 뭔데?

1.지난 시간에 API를 "다리"라고 설명했다. 무언가와 무언가를 이어주는 체계 말이다.

 

다음과 같은 URL을 한번보자. 다음URL을 클릭하면 구글에 설국열차를 검색한 결과와 같은 값을 보여줄 것이다.

 

www.google.com/search?q=설국열차

 

www.google.com은 서버주소를 의미할 것이다 (이전 시간의 도메인). 

 

/search는 이전시간의 A다리, B다리를 의미한다.

 

A다리로 무엇을 보내든지간에 포유류로 분류하고, 도축한다고 했으니 이와같이 search 다리로 무엇을 보내든지간에 검색(search)할 것이다.

 

?q=설국열차는 무엇인가? 이는 파라미터(parameter)라고 하는데 한국말로 번역하자면 인자이다. 전 시간 추가 탭에서 설명했듯이

 

api는 하나의 함수이다. 함수는 f(x)와 같은 형태이고 여기서 x가 파라미터다.

 

검색을 하긴 하는데 무엇을 검색하는지에 대한 값이 이 공간에 들어간다.

 

2.단순히 크롬의 주소창에 www.google.com/search?q=설국열차 라고 적은것을 저번시간에 배웠던 어려운 단어들로 바꿔보자.

 

나는 크롬(클라이언트)의 주소창을 이용해서 구글 서버에 설국열차라는 데이터를 요청했고, 구글은 api를 이용해 파라미터인 설국열차가 구글서버에 존재하는지 확인 후, 나에게 해당 값을 보내줘서, 내가 크롬창에서 설국열차의 검색결과를 확인 할 수 있었다.

 

저번 시간에 배웠던 무언가가 빠져있는것 같지 않는가? 바로 Restful API이다. 기본적으로 크롬 브라우저의 주소창에 작성하는 행위는 GET의 행위이다. 따라서 위의 "나는 크롬(클라이언트)의 주소창을~ 의 행위는 당연히 GET 행위이다."

 

@그렇다면 HTTP 상태 코드도 확인 할 수 있을까?

404 NOT FOUND의 코드를 확인하고 싶다하자.

저번시간에 400대의 HTTP 상태 코드는 클라이언트의 요청실수라고 했으니, 다음과 같은 URL을 작성하여 주소창에 입력해보자.

 

www.google.com/집에가고싶다

 

집에가고싶다 라는 데이터는 구글에 존재하지 않는다. 물론 이에대한 검색결과는 존재하겠지만, 집에가고싶다라는 다리(API)는 구축되어 있지 않으니 404 NOT FOUND가 발생하게 되어있다.

 

@다른 상태 코드도 확인하고 싶다!

기본적인 브라우저를 이용해서 POST를 할 수는 없다. POST나 PATCH, PUT, DELETE 등의 행위를 수행하고 싶다면

 

다음 URL을 따라가 POSTMAN을 설치하길 바란다.

 

www.getpostman.com/downloads/

 

포스트맨 설치 후의 창은 다음과 같을 것이다.

 

 

빨간 사각형 안의 + 버튼을 누르면 다음과 같다.

 

 

익숙한 키워드가 많을것이다. GET이라던가 Params (parameter)라던가 key, value 등

 

먼저 설명한 google을 이용해서  get를 해봐도 되겠지만 json형식으로 표현된 다른 데이터를 다음 사이트에서 get 해볼 생각이다.

 

jsonplaceholder.typicode.com/users

 

위의 URL을 복사하여 포스트맨의 URL에 붙이고

 

밑의 key 와 value에 각각 id와 1을 작성해보자 (대소문자를 구분해야한다.)

 

그렇다면 다음과 같은 창을 확인 할 수 있다.

 

 

왼쪽 밑에 해당 서버에서 id가 1인 데이터를 요청했을때(get) 얻은 데이터가 표시되며

 

오른쪽의 status: 200 은 먼저 배운 HTTP 상태 코드를 의미한다.

 

id의 value를 2로 바꾸면 2에 해당하는 Leanne Graham이 아닌 Ervin Howell씨의 데이터를 확인 할 수 있다.