{JSON} Placeholder로 REST-API 실습하기

심주흔·2023년 12월 5일
2

Django

목록 보기
4/5
post-thumbnail

REST API 서버에 접속해서 HTTP 요청과 응답을 실습해보자.

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

🌭 {JSON} Placeholder

https://jsonplaceholder.typicode.com

이 사이트는 무료로 가짜 API를 사용할 수 있어 각종 테스트를 진행할 수 있다.

스크롤을 내리다보면 Try it 이라는 부분이 보이는데 이 부분에는 HTTP 요청 코드 가 작성되어 있으며, Run script 를 클릭하면 응답으로 JSON 데이터를 확인할 수 있다.

🍔 Resources 자원

이 사이트에서 제공하는 (가짜)자원은 게시글 100개, 댓글 500개, 앨범 100개, 사진 5,000개, 할 일 목록 200개, 사용자 10명이다.

🍔 Routes 경로

나중에 메서드별로 요청을 보낼 때 사용하는 URL 경로가 나와 있다. 나중에 실습할 때 참고 할 수 있도록 한다.

  • Note 를 살펴보면 guide 에 링크가 걸려있다.

해당 링크를 타고 가면 REST API 를 사용하는 예시를 볼 수 있는데...

GET을 생략?
데이터를 조회 요청할 때는 method의 속성값으로 GET을 써야하는데 GET이 없다. 하지만 GET은 method의 기본값이므로 사실 생략이 가능하다.

PutPatch
Put : 기존 데이터를 전부 새 내용으로 변경, 만약 기존 데이터가 없다면 새로 생성
Patch : 기존 데이터 중에서 일부만 새 내용으로 변경

🌭 Talend API Tester

🍔 설치

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 메시지는 요청과 응답으로 구분된다. HTTP 메시지는 Talend API Tester 화면 아래에 [HTTP] 탭에서 확인할 수 있다.

HTTP 메시지 구성
시작라인 (start - line) : HTTP 요청 또는 응답 내용이 있음, 시작 라인은 항상 한 줄로 끝남.
헤더 (header) : HTTP 전송에 필요한 부가 정보가 있음.
빈 라인 (blank - line) : 헤더의 끝을 알리는 빈 줄로, 헤더가 모두 전송 되었음을 알림.
본문 (body) : 실제 전송하는 데이터가 있음.

위 사진에는 시작라인과, 헤더를 알 수 있음.

🍔 실습해보기

METHOD 에 실습한 요청을 정하고 위에 있던 ROUTES URL을 참고하여 API 실습을 해보자.

🍟 GET

데이터 조회해보기

GET을 해보니 HTTP 메세지를 확인 할 수 있는데 HTTP의 상태코드(2xx : 정상) 또한 확인 할 수 있다.

HTTP 메시지를 더 확인해보면 JSON 파일이 정상적으로 응답 된 것을 확인 할 수 있다. 아까 Resources 에서 자료의 갯수는 100개라고 했다. 고로 101번째 데이터를 요청하면 아래와 같이 4xx : 클라이언트 요청 오류 상태 코드를 확인 할 수 있다.

🍟 POST

데이터를 생성하고 조회해보기

METHOD 와 URL 을 알맞게 작성하고 Send 를 눌러 데이터를 입력한다. 이때 JSON 형식을 신경쓰지 않으면 5xx : 서버응답 오류 가 발생할 수 있으니 주의

HTTP 메시지 본문(body)을 보면 101번째 id를 가진 데이터가 등록된 것을 알 수 있다.

🍟 PATCH

데이터를 수정하기

JSON 형식에 맞춰 post 데이터 중 id 값이 2인 데이터의 정보를 변경한다. 이후 HTTP 응답 메시지에서 확인 할 수 있다.

🍟 DELETE

새로 만든 101번째 데이터를 삭제했으며, HTTP 응답 메시지의 본문에는 JSON 데이터의 중괄호{} 부분이 비어있는 것을 볼 수 있다.

profile
이봐... 해보기는 했어?

2개의 댓글

comment-user-thumbnail
2023년 12월 5일

어허.. 놀랍게도라.. 뒷감당 가능하시죠?

1개의 답글