REST API와 JSON의 등장 배경

웹 서비스를 사용하는 클라이언트에는 스마트폰, 태블릿, 각종 센서 등 모두 클라이언트이다.

서버는 이러한 모든 클라이언트의 요청에 응답해야 하는데 그 방법으로 REST API를 사용하는 것이다.

REST API는 서버의 자원을 클라이언트에 구애받지 않고 사용할 수 있게 하는 설계방식이다.

REST API 방식에서는 HTTP 요청에 대한 응답으로 서버의 자원을 반환한다.

서버는 클라이언트의 요청에 대한 응답으로 화면이 아닌 데이터를 전송하는데,

이 때 사용하는 응답 데이터는 JSON(Java Script Object Notation)이다.

JSON 데이터는 키와 값으로 구성된 정렬되지 않은 속성의 집합으로 키는 문자열이므로 항상 큰따옴표로 감싸고,

값은 문자열인 경우에만 큰따옴표로 감싼다.


REST API 동작 살펴보기

{JSON} Placeholder 사이트에 접속해서 스크롤을 내리면 보이는 Try it에 Run script로 실행을 먼저 시켜보면 아래와 같다.

스크롤을 더 내려서 보면 Routes가 보이는데 REST API는 모든 메서드를 지원한다.

각 메서드별 요청을 보낼 때 사용하는 URL 경로를 확인할 수 있다.

Routes의 guide를 클릭하면 페이지가 바뀌면서 다양한 예시 또한 볼 수 있다.

실습을 위해 이제 크롬 웹 브라우저에 Talend API Tester를 먼저 설치해준다.

위와 같은 화면에서 파란색 버튼을 클릭해 프로그램을 시작한다.

method는 GET으로 URL은 'https://jsonplaceholder.typicode.com/posts'와 같이 작성하고 요청을 보내면, 

요청이 성공적으로 처리되었다는 200 응답과 함께 아래와 같이 body에서 JSON 데이터를 확인할 수 있다.

 

{JSON} Placeholder 사이트에서 제공하는 게시글은 총 100개인데 101번째 게시글을 요청하면 어떻게 될까?

위의 이미지와 같이 해당 게시글을 찾을 수 없어 응답코드 404 에러가 난다.

이번에는 POST 요청하고 응답받기 실습을 해 볼 것이니 메서드를 POST로 바꾸고,

URL은 'https://jsonplaceholder.typicode.com/posts'로 하여 body  부분에 아래와 같이 작성 후 send 해준다.

응답으로 201이 오면서 body 부분으르 보면 새로 생성된 데이터가 JSON 형식으로 잘 반환된 것을 볼 수 있다.

 

데이터 생성 요청 시 body에 JSON 데이터를 잘못 표기한다면 아래와 같이,

응답 코드 500 서버 내부 에러와 함께 'SyntaxError:...'라고 알려준다.

데이터 수정 및 삭제 시에도 위와 유사한 과정으로 실습을 진행해 보았다.