REST ?
Representational State Transfer 의 약자로 자원을 이름으로 구분하여 상태를 주고 받는 모든 것을 의미한다.
HTTP URI를 통해 자원 (Resource)를 명시하고, HTTP Method (POST, GET, PUT, DELETE) 를 통해
해당 자원(URI)에 대한 CRUD 를 적용하는 것을 의미한다.
REST에서의 CRUD는 다음과 같다.
- Create : 데이터 생성 (POST)
- Read : 데이터 조회(GET)
- Update : 데이터 수정(PUT)
- Delete : 데이터 삭제(DELETE)
REST 구성 요소
- 자원 (Resource) : HTTP URI
- 자원에 대한 행위(Verb) : HTTP Method
- 자원에 대한 행위의 내용 (Representations) : HTTP Message Pay Load
REST의 특징
- Server Client : 서버 클라이언트 구조
- Stateless : 무상태
- Casheable : 케시 처리 가능
- Layered System : 계층화
- Uniform Inteface : 인터페이스의 일관성
RESTful ?
RESTful이란 REST의 원리를 따르는 시스템을 의미한다. 하지만 REST를 사용했다고 해서 모두가 RESTful인 것은 아니다. REST API의 설계 규칙을 올바르게 지킨 시스템을 RESTful이라 말할 수 있다.
모든 CRUD 기능을 POST로 처리하는 API나 URI규칙을 올바르게 지키지 않은 API는 RESTful 이라고 할 수 없다.
다음 포스팅에는 RESTful 하게 설계하는 방법에 대해서 알아보도록 하겠다.
'Backend > Spring Framework' 카테고리의 다른 글
[Spring] REST 예제 (0) | 2022.07.26 |
---|---|
[Spring] REST API (0) | 2022.07.25 |
[Spring] IoC (제어권 역전) 와 DI (의존성 주입) (0) | 2022.01.24 |
[Spring] @Transactional @@@@@ (0) | 2022.01.21 |
Spring Web Layer (스프링 웹 계층) (0) | 2022.01.19 |