REST API (Representational State Transfer)

2023. 10. 31. 10:18
728x90
쉽게 말하면 자원(resource)의 표현(representation)을 상태(state)로 전달(transfer)한다 ! 

 

- 자원 : 해당 소프트웨어가 관리하는 모든 것 (문서, 그림, 데이터 등등)

- 표현 : 그 자원을 표현하기 위한 이름

- 상태(정보) 전달 : 데이터가 요청되어지는 시점에서 자원의 상태 전달. (JSON / XML 형태로 주고 받는 것이 일반적)

 

=> HTTP Method를 통해 CRUD 적용

CREATE POST (생성)
READ GET (조회)
UPDATE  PUT (수정)
DELETE DELETE (삭제)
HEAD HEAD (header 정보 조회)

- 자원이 있는 쪽이 server / 자원을 요청하는 쪽이 client 

 

- REST API (Application Programming Interface) 

: REST 기반으로 서비스 API를 구현한 것.

URL 만으로도 이 요청이 무슨 요청인지 이해할 수 있도록 작성하는 것이 좋다.

 

1. URI는 정보 자원을 표현해야 한다. 

- 동사보다는 명사를 

- 대문자보다는 소문자를 사용

- 도큐먼트(객체 인스턴스나 데이터베이스 레코드와 유사한 개념) 이름 : 단수명사 사용

- 컬렉션(서버에서 관리하는 디렉터리라는 리소스) 이름 : 복수명사 사용

- 스토어(클라이언트에서 관리하는 리소스 저장소) 이름 : 복수명사 사용

ex. GET/Member/1 -> GET/members/1

 

2. 자원에 대한 행위는 HTTP method로 표현 

- URI에 HTTP Method 사용 X

- 행위 동사 표현 X

- 경로 부분 중 변하는 부분은 유일한 값으로 대체

ex. GET/members/delete/1 -> DELETE/members/1

ex. GET/members/show/1 -> GET/members/1

 

3. 설계 규칙

- 밑줄 사용 X -> 하이픈 사용

- 파일확장자는 포함 X

- 슬래시 구분자는 계층 관계를 나타내는데 사용

 

** 사용 이유 **

- 다양한 클라이언트의 등장

- HTTP 표준 프로토콜에 따르는 모든 플랫폼에서 사용이 가능.

- 이해하기 쉽고 사용하기 쉬움

728x90

BELATED ARTICLES

more