profile

코드잇

2023. 2. 1
REST Client 사용하기

Rest Client라는 확장 프로그램을 사용하면 쉽고 편리하게 API의 동작 여부를 테스트 할 수 있습니다. 이번 튜토리얼을 통해 한번 자세히 알아보겠습니다.

RestClient

Rest Client는 API를 조회하기 위한 VSCode의 확장 프로그램입니다.

Rest Client를 사용하면 하나의 파일(.http)에 다양한 API URL을 미리 설정해 두고, 해당 URL들에 쉽게 요청을 보낼 수 있습니다.

또, GET처럼 단순히 URL에 내용을 담아 요청을 보내는 것과 달리 POST, PATCH 등 URL 이외(Body 등)의 곳에 데이터를 보내야 하는 경우에도 손쉽게 사용 할 수 있습니다.

사용법은 다음과 같습니다.

Rest Client 사용 방법

Rest Client를 사용하기 위해선 요청을 보낼 API가 필요한데요. 이번 레슨에서는 테스트를 위한 모의 데이터와 서버를 제공해 주는 JSON Placeholder 서비스를 이용해 볼게요. https://jsonplaceholder.typicode.com로 요청을 보낼 수 있고, 설계된 엔드포인트는 다음과 같습니다.

HTTP Method엔드포인트기능CRUD
GET/posts게시물 데이터 전체 조회Read
POST/posts새로운 게시물 생성Create
PATCH/posts/id특정 게시물 부분 수정Update
PUT/posts/id특정 게시물 전체 수정Update
DELETE/posts/id특정 게시물 삭제Delete

해당 API를 사용해서 Rest Client를 사용해 볼게요.

GET 요청

먼저, 프로젝트 폴더에 example.http라는 파일을 생성합니다. 그리고, 해당 파일에 아래와 같이 작성해 주세요.

example.http

GET https://jsonplaceholder.typicode.com/posts HTTP/1.1

test.http 파일에 HTTP 요청을 위한 메소드(GET), 요청 할 URL(http://localhost:8000/movies), HTTP 프로토콜 버전(HTTP/1.1)을 순서대로 작성해 주면 Rest Client를 사용할 수 있습니다. 이때 HTTP 프로토콜 버전을 생략하는 형태로 많이 사용합니다.

example.http

GET https://jsonplaceholder.typicode.com/posts

다 작성하면 작성한 코드 위에 작은 글씨로 Send Request라는 버튼이 생기는데요. 여기를 누르면 HTTP 요청이 보내집니다.

200 OK라는 상태코드와 함께 데이터들이 잘 조회되네요. 또, 요청 시간과 서버 정보 등 다양한 정보도 함께 제공해 주고 있습니다.

POST 요청

이번에는 데이터를 생성할 수 있는 POST 요청을 보내 보겠습니다. 아래와 같이 작성해 주세요.

example.http

GET https://jsonplaceholder.typicode.com/posts

###

POST https://jsonplaceholder.typicode.com/posts
Content-Type: application/json;

{
    "userId": 11,
    "title": "Lorem Ipsum",
    "body": "Lorem Ipsum is simply dummy text of the printing and typesetting industry"
}

POST 요청을 보내기 위해서는 두 가지가 필요합니다. 먼저, JSON 방식의 데이터를 보낸다는 것을 표시해야 하고(Content-Type: application/json), 생성할 영화 정보를 JSON 형식으로 작성해야 합니다.

이때, Content-Type은 요청 헤더에 데이터를 추가해 주는 것이고, 하단의 JSON 형식은 요청 바디에 데이터를 추가해 주는 것입니다. 서로 다른 부분이기 때문에 무조건 공백으로 구분해 줘야 합니다.

또, 요청 코드 상단에 ###를 작성하여 다른 요청과 구분이 필요합니다. 그렇지 않으면 두 요청을 하나의 요청으로 보기 때문에, 무조건 ###을 사용해서 요청을 구분해 줘야 한다는 점 잊지 마세요.

이렇게 작성하면 역시 Send Request라는 버튼이 생깁니다. 해당 버튼을 눌러 새로운 영화 데이터 생성 요청을 보내 볼게요.

201 응답이 확인되네요. 참고로, 저희는 외부 API를 사용하기 때문에 생성된 데이터가 보이진 않지만, 실제 API에서는 생성된 데이터까지 함께 확인됩니다.

예시로 보여 드리진 않았지만, 위의 예시로 작성한 요청들에서 메소드 부분만 변경하면 PATCH, PUT, DELETE 요청도 보낼 수 있습니다. 이렇게 Rest Client를 사용하면 보낼 요청 내용을 파일 안에서 한번에 관리하기 때문에 요청을 더 쉽고 빠르게 보낼 수 있습니다.

이 튜토리얼은 어땠나요?

(주) 코드잇

대표KANG YOUNG HOON, 이윤수

개인정보보호책임자강영훈

사업자 번호313-86-00797

통신판매업제 2019-서울중구-1034 호

주소서울특별시 중구 청계천로 100 시그니쳐타워 동관 10층 코드잇