REST API 서버에 접속해서 HTTP 요청과 응답을 실습해보자.
REST API
: Representational State Transger API 로써 서버의 자원을 클라이언트에 구애받지 않고 사용할 수 있게 하는 설계방식
이 사이트는 무료로 가짜 API를 사용할 수 있어 각종 테스트를 진행할 수 있다.
스크롤을 내리다보면 Try it
이라는 부분이 보이는데 이 부분에는 HTTP 요청 코드
가 작성되어 있으며, Run script
를 클릭하면 응답으로 JSON
데이터를 확인할 수 있다.
이 사이트에서 제공하는 (가짜)자원은 게시글 100개, 댓글 500개, 앨범 100개, 사진 5,000개, 할 일 목록 200개, 사용자 10명이다.
나중에 메서드별로 요청을 보낼 때 사용하는 URL 경로가 나와 있다. 나중에 실습할 때 참고 할 수 있도록 한다.
Note
를 살펴보면 guide
에 링크가 걸려있다.해당 링크를 타고 가면 REST API 를 사용하는 예시를 볼 수 있는데...
GET을 생략?
데이터를 조회 요청할 때는 method의 속성값으로 GET을 써야하는데 GET이 없다. 하지만GET은 method
의 기본값이므로 사실 생략이 가능하다.
Put과 Patch
Put : 기존 데이터를 전부 새 내용으로 변경, 만약 기존 데이터가 없다면 새로 생성
Patch : 기존 데이터 중에서 일부만 새 내용으로 변경
https://chromewebstore.google.com/detail/talend-api-tester-free-ed/aejoelaoggembcahagimdiliamlcdmfm
크롬 브라우저 오른쪽 상단에 퍼즐 모양의 아이콘을 클릭하면 현재 설치된 확장 프로그램 목록이 나오는데, 여기서 Talend API Tester
프로그램의 핀 아이콘을 활성해 바로 가기 아이콘을 생성한다.
Talend API Tester 아이콘을 클릭하여, [Use Talend API Tester - Free Edition] 버튼을 클릭하여 프로그램을 실행한다.
HTTP 메시지는 요청과 응답으로 구분된다. HTTP 메시지는 Talend API Tester 화면 아래에 [HTTP] 탭에서 확인할 수 있다.
HTTP 메시지 구성
시작라인 (start - line) : HTTP 요청 또는 응답 내용이 있음, 시작 라인은 항상 한 줄로 끝남.
헤더 (header) : HTTP 전송에 필요한 부가 정보가 있음.
빈 라인 (blank - line) : 헤더의 끝을 알리는 빈 줄로, 헤더가 모두 전송 되었음을 알림.
본문 (body) : 실제 전송하는 데이터가 있음.
위 사진에는 시작라인과, 헤더를 알 수 있음.
METHOD 에 실습한 요청을 정하고 위에 있던 ROUTES
URL을 참고하여 API 실습을 해보자.
데이터 조회해보기
GET을 해보니 HTTP 메세지를 확인 할 수 있는데 HTTP의 상태코드(2xx : 정상) 또한 확인 할 수 있다.
HTTP 메시지를 더 확인해보면 JSON 파일이 정상적으로 응답 된 것을 확인 할 수 있다. 아까 Resources
에서 자료의 갯수는 100개라고 했다. 고로 101번째 데이터를 요청하면 아래와 같이 4xx : 클라이언트 요청 오류 상태 코드
를 확인 할 수 있다.
데이터를 생성하고 조회해보기
METHOD 와 URL
을 알맞게 작성하고 Send
를 눌러 데이터를 입력한다. 이때 JSON 형식을 신경쓰지 않으면 5xx : 서버응답 오류
가 발생할 수 있으니 주의
HTTP 메시지 본문(body)을 보면 101번째 id를 가진 데이터가 등록된 것을 알 수 있다.
데이터를 수정하기
JSON 형식에 맞춰 post 데이터 중 id 값이 2인 데이터의 정보를 변경한다. 이후 HTTP 응답 메시지에서 확인 할 수 있다.
새로 만든 101번째 데이터를 삭제했으며, HTTP 응답 메시지의 본문에는 JSON 데이터의 중괄호{} 부분이 비어있는 것을 볼 수 있다.
어허.. 놀랍게도라.. 뒷감당 가능하시죠?