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: 서버 오류
- 계층 관계 표현을 위해
/
를 사용한다. - 마지막 문자로
/
를 사용하지 않는다. - 가독성을 위해
-
사용한다. _
언더 스코어를 사용하지 않는다. => 일반 브라우저에서는_
가 보여지지 않을 수 있다.- 소문자를 사용한다.
- 파일 확장자를 사용하지 않는다.
- CRUD 함수명을 하지 않는다.
- 필터를 위해 쿼리 파라미터를 사용한다.
728x90
반응형
LIST
'CS' 카테고리의 다른 글
Spring의 특징 - DI, IoC, POJO, AOP (1) | 2025.04.19 |
---|---|
프레임워크(Framework)와 라이브러리(Library)의 차이점 (0) | 2025.04.19 |
Web server 와 WAS 의 차이점 (0) | 2025.03.22 |