RESTful API란?

J_Eddy·2022년 5월 27일
0

RESTful API란

REpresentational State Transfer의 약어로, HTTP를 활용해서 데이터에 접근하고 데이터
를 다루는 API아키텍쳐 스타일이다.

구성요소

  • 자원(Resource) : HTTP URL
  • 자원에 대한 행위 : HTTP Method
  • 자원에 대한 행위 내용 : HTTP Message Pay Load

REST의 특징

1) 유니폼 인터페이스

Uniform Interface는 URI로 조작은 통일되고, 한정적 인터페이스로 수행하는 아키텍쳐 스타일

2) 무상태성(Stateless)

세션정보 또는 쿠키와 같은 작업을 위한 상태정보를 따로 저장하고 관리하지 않고 단순 요청만 처리하면된다. 이로인해 서비스의 자유도가 높아지고, 서버에서 불필요한 정보를 관리하지 않음으로서 구현이 단순해진다.

3) 캐싱(Cacheable)

웹에서 사용하는 기존 인프라를 그대로 활용이 가능하다. 따라서 HTTP가 가진 캐싱기능이 적용이 가능하다.

4) 자체 표현 구조(Self-descriptiveness)

RESP API 주소만 보고도 쉽게 이해할 수 있는 자체 표현구조로 되어있다.

5) Client - Server 구조

클라이언트는 UI, Request, Server는 데이터 관라, 사용자 인증하는 것 처럼 역할이 확실히 구분되어 클라이언트와 서버에서 개발할 내용이 명확해지고 서로간 의존성이 줄어들게 된다.

REST API URI 디자인 규칙

1) URI는 정보의 자원을 표현해야하므로 동사보단 명사를 사용

잘못된 예시

GET /members/delete/1
GER /members/show/1

올바른 예시

DELETE /members/1
GET /members/1

2) 슬래시(/)는 계층 관계를 나타내는데 사용( 마지막문자로 슬래시 포함 X)

3) 언더바( _ )는 사용하지말고, 하이픈( - )을 사용

4) URI 경로에 대문자 사용을 피하고, 소문자로 작성

5) 파일 확장자는 URI에 미포함

Accept Header를 이용하여 보내자

http://localhost:8080/members/info/photo.jpg (x)

6) Collection과 Document

Document는 객체이고 이 객체를 모아둔것이 Collection이다. 아래와 같이 Collection에 해당하는 단어는 복수형으로 표시하면 조금 더 이해하기 쉬운 URI를 만들 수 있다.

http://localhost:8080/sports/soccer
profile
논리적으로 사고하고 해결하는 것을 좋아하는 개발자입니다.

0개의 댓글