CS

REST API 정리

Seong-Jun 2025. 4. 19. 23:46
728x90
반응형
SMALL

REST API란?

Representational State Transfer의 약자로 클라이언트와 서버 간의 데이터 교환을 단순화하고 표준화된 방식으로 수행할 수 있게 하는 아키텍처 스타일이다.

HTTP 프로토콜을 기반으로 동작하며 자원을 URI로 표현하고 HTTP 메서드를 활용해 자원에 작업을 수행한다.

REST API의 핵심 개념

자원(Resources)

데이터를 고유한 URI로 식별한다. 예를 들어 /users나 /products 등은 사용자와 상품 데이터를 나타내는 자원이다.

표현(Representation)

요청된 자원은 JSON, XML 등으로 표현되어 클라이언트에 전달된다.

상태없음(Stateless)

클라이언트의 상태를 서버가 저장하지 않으며 각 요청은 필요한 정보를 독립적으로 표현해야 한다.

Http 메서드

자원에 대한 작업은 HTTP 메서드를 활용하여 작업한다.

  • GET : 자원 조회
  • POST : 자원 생성
  • PUT : 자원의 전체 수정
  • PATCH : 자원의 부분 수정
  • DELETE : 자원 삭제

URI의 일관성

RESTful API는 명료하고 직관적인 URI를 갖는다.

예를 들어
=> /products/{id}, /users/{id}

REST API의 설계 원칙

자원 기반 설계(Resource-Oriented Design)

자원을 URI로 식별하며 각 자원은 Http 메서드를 통해 작업된다.

적절한 메서드 사용하기

적절한 메서드를 사용해 작업이 어떤 작업인지 명확히 한다. Http 메서드 중 PATCH는 일부 필드를 업데이트할 때 사용하며 멱등성(idempotency)을 고려한다.

=> PUT은 반복 작업 시 동일한 결과를 반환하지만 PATCH는 다른 결과를 반환할 수 있다.

상태 없음(Statelessness)

클라이언트와 서버 간의 상호작용이 독립적이며 간단한 구조를 유지한다.

표현

데이터는 JSON과 같은 표준화된 형식으로 표현된다.

에러 코드 및 메시지

Http 상태 코드를 활용하여 요청 결과를 전달한다.

  • 200 OK: 요청 성공
  • 404 Not Found: 자원 없음
  • 500 Internal Server Error: 서버 오류

  1. 계층 관계 표현을 위해 /를 사용한다.
  2. 마지막 문자로 /를 사용하지 않는다.
  3. 가독성을 위해 - 사용한다.
  4. _ 언더 스코어를 사용하지 않는다. => 일반 브라우저에서는 _가 보여지지 않을 수 있다.
  5. 소문자를 사용한다.
  6. 파일 확장자를 사용하지 않는다.
  7. CRUD 함수명을 하지 않는다.
  8. 필터를 위해 쿼리 파라미터를 사용한다.
728x90
반응형
LIST