[spring] REST 개념
by mini_min[spring] REST 개념
✔️ REST 방식이란?
: 스프링을 공부하면서 주로 사용하는 애노테이션들을 공부중인데, REST 방식이 무엇인지 알아보았다.
REST 는 'Representational State Transfer' 를 축약한 것으로 하나의 URI 는 하나의 고유한 리소스만 대표하도록 설계하여 전송하는 방식이라고 한다. 네트워크 상에서 클라이언트와 서버 사이의 통신 방식 중 하나이다.
- 기존에 SOAP 을 이용하던 웹 서비스 방식에서 벗어나 URL 을 이용해 데이터를 간단하게 요청한다.
📓 REST 와 관련된 애노테이션
@RestController : Controller 가 REST 방식을 처리하기 위한 것임을 명시한다.
@ResponseBody : 일반 JSP 와 같은 뷰로 전달되는게 아니라 데이터 자체를 전달하기 위한 용도로 쓴다.
@RequestBody : JSON 데이터를 원하는 타입으로 바인딩해 처리한다.
📓 REST 방식 장점
- 언어, 플랫폼에 중립적이다.
- SOAP 보다 개발하기 단순하다.
- 도구가 거의 필요 없다.
- 간결하고 웹에 가가운 설계와 철학을 가진다.
📓 REST 방식 단점
- 포인트 투 포인트 통신 모델을 가정한다. 그래서 둘 이상을 대상으로 상호작용하는 분산환경에는 유용하지 않다.
- 보안 표준이 없다.
- HTTP 통신 모델에 의존적이다.
- 사용할 수 있는 메소드가 4가지 밖에 없다.
📓 REST 구성요소
- 자원 : URI
: 모든 자원에 고유한 ID가 존재하고 자원은 서버에 존재한다.
: 자원을 구별하는 ID 는 URI 이다.
: 클라이언트는 URI 를 이용해 자원을 지정하고 해당 자원의 대한 조작을 서버에 요청한다.
- 행위 : HTTP Method
: HTTP 프로토콜의 메소드를 사용한다.
: GET, POST, PUT, DELETE 와 같은 메소드를 제공한다.
- 표현
: 클라이언트가 자원의 상태에 대한 조작을 요청하려면 서버는 이에 적절한 응답을 보낸다.
: JSON, XML 을 통해 데이터를 주고 받는 것이 일반적이다.
'Spring' 카테고리의 다른 글
[spring] List 배열로 요청 파라미터 받기 (0) | 2022.11.14 |
---|---|
[spring] RequestParam (0) | 2022.11.14 |
[spring] 컨트롤러 및 맵핑 (Controller, RequestMapping) (0) | 2022.11.10 |
[spring] MVC 패턴 설정 (0) | 2022.11.10 |
[spring] AOP 란? (0) | 2022.11.09 |
블로그의 정보
개발자 미니민의 개발로그
mini_min