REST API와 Postman [HTTP/네트워크]

조성원·2023년 3월 29일
0
post-thumbnail

REST API란?

REST API
웹에서 사용되는 데이터나 자원(Resource)을 HTTP URI로 표현하고,
HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식입니다.

예를 들어, 클라이언트와 서버 사이에도 데이터와 리소스를 요청하고,
요청에 따른 응답을 전달하기 위한 메뉴판이 필요합니다.

따라서 알아보기 쉽고 잘 작성된 메뉴판이 필요하고,
이를 위해 REST API 디자인이 중요합니다.




REST API 디자인

REST API를 잘 적용하기 위한 4단계 모델이 있습니다.


0단계

0단계에서는 단순히 HTTP 프로토콜을 사용하기만 해도 됩니다.

허준이라는 이름의 주치의의 예약 가능한 시간을 확인하고,
어떤 특정 시간에 예약하는 상황을 예로 들어 보겠습니다.




1단계

1단계에서는 개별 리소스와의 통신을 준수해야 합니다.

REST API는 웹에서 사용되는 모든 데이터나 자원을
HTTP URI로 표현합니다.

따라서 모든 자원은 개별 리소스에 맞는
엔드포인트(Endpoint)를 사용해야하며
요청하고 받는 자원에 대한 정보
응답으로 전달 해야 한다는 것이 1단계의 핵심입니다.


위의 예시에서
예약 가능한 시간 확인이라는 요청
응답으로 받게 되는 리소스
의사의 예약 가능한 시간대입니다.

요청 시 /doctors/허준이라는
엔드포인트를 사용한 것을 볼 수 있습니다.

하단의 특정 시간에 예약이라는 요청에서는
/slots/123으로 실제 변경되는 리소스를 엔드포인트로 사용하였습니다.


더불어, 리소스 사용에 대한 성공/실패 여부를 반환해야 합니다.
해당 시간이 마감되어 예약이 불가능하다고 가정할 때,
리소스 사용에 대한 실패 여부를 포함한 응답을 받아야 합니다.




2단계

2단계에서는 CRUD(Create, Read, Update, Delete)에 맞게
적절한 HTTP 메서드를 사용하는 것이 중요합니다.

예약 가능한 시간을 조회(READ)하기 위해
GET 메서드를 사용하여 요청을 보내고,
query parameter를 사용하여 필요한 리소스를 전달합니다.

또한 예약을 생성(CREATE)하기 위해
POST 메서드를 사용하여 요청을 보내고,
응답 코드201 Created 로 명확하게 작성해야 하며,

리소스를 클라이언트가 Location 헤더에 작성된
URI를 통해
확인할 수 있도록 해야 합니다.


HTTP 메서드를 사용할 때 몇 가지 규칙이 있습니다.

  1. GET 메서드는 서버의 데이터를
    변화시키지 않는 요청(READ)에 사용해야 합니다.

  2. POST 메서드는 요청마다 새로운 리소스를
    생성(CREATE)해야 합니다.

  3. PUT 메서드는 요청마다 같은 리소스를
    반환(UPDATE)해야 합니다.
    PUT은 교체, PATCH는 수정의 용도로 사용합니다.




3단계

3단계에서는
응답에 리소스의 URI를 포함한 링크 요소 (HATEOAS)를
삽입하여 작성해야 합니다.

이러한 링크들은 조금 더 쉽고, 효율적으로
리소스와 기능에 접근할 수 있게 합니다.

예약 가능 시간을 확인한 후에는
그 시간대에 예약을 할 수 있는 링크를 삽입하거나,
그 예약을 다시 확인할 수 있도록 링크를 작성합니다.




Postman

HTTP 요청을 테스트할 수 있는
다양한 API 테스트 도구들이 있습니다.
대표적으로 Postman이 있습니다.

이러한 API 테스트 도구는
클라이언트 입장에서 서버 API를 테스트하거나,
API를 만드는 과정에서 매우 유용합니다.

profile
IT 트렌드에 관심이 많은 프론트엔드 개발자

0개의 댓글