티스토리 뷰

CS

RESTful API 간단한 정의

필자A 2021. 11. 18. 16:59

 

 

RESTful api정의

REST는 자원, 행위, 표현으로 구성이 됩니다.

아래는 REST아키텍처의 조건입니다.

 

1. 모든 자원은 URI로 식별한다.

 

URI : 어느 위치의 어느 자료 값

URL(location) : 해당 자료의 위치

URI가 URL보다 더 큰 개념

 

2. 모든 자원은 다중 표현을 가질 수 있다.

 

JSON, XML 등 여러 포맷으로 응답할 수 있습니다.

 

3. 모든 자원은 HTTP메서드로 접근, 생성, 변경, 삭제할 수 있습니다.(CRUD)

 

http메서드 : get, post, delete, put

 

4. 서버가 상태 정보가 가지지 않는다.

 

세션 등 정보를 가지지 않는다. stateless

 

 

 

 


 

RESTful 네이밍

 

URL에 접근하고자 하는 URI를 정하는 것이며

RESTful API는 스타일이며, 표준이 아닙니다.

API를 구성할 때 자원을 기준으로 합니다.

명사를 사용하며 동사를 사용하지는 않습니다. 그리고 복수를 기준으로 합니다.

 

예시는 objects/delete/4 와같이 행위를 URI에 포함하지 않습니다.

objects/4로 URI를 설정하며 행위는

http메서드 4가지

get( read ) , post( create ) , delete( delete ) , put( update )

위를 사용하여 설정합니다.

 

method : delete - URI : objects/4는 4번 object 삭제
method : get - URI : objects/4는 4번 object 조회

 


간단한 RESTful API 요청, 응답 과정

 

기존에는 dispatcher servlet에서 요청을 받고 

handlerMapping에서 올바른 controller를 찾습니다.

그후 dispatcher servletcontroller에 요청을 보내

model을 받습니다.

 

그 후 viewResolver에게 보여줄 view타깃을 받은 후

dispatcher servletviewmodel을 보낸 후 맵핑된

뷰를 dispatcher servlet이 클라이언트에게 응답합니다.

 

 

레스트 풀스 타일의 API를 구현해볼 때는

뷰 리졸버부터의 과정을 지우고 JSON포맷을 바로 응답해주도록 하겠습니다.

 

 

간단하게 말하자면 webMVC를 사용하면 위 이미지처럼

dispatcherServlet이 프런트 컨트롤러 역할을 하여

모든 요청과 응답을 처리해줍니다.

 

restful web service를 구성하면 아래처럼 뷰를 렌더링 해서 보여주지 않고 

바로 응답해줍니다.

 

반응형

'CS' 카테고리의 다른 글

docker 명령어정리(추가중)  (0) 2021.12.02
git  (0) 2021.11.27
인코딩 간단 정리(ASCII, UTF-8)  (0) 2021.11.18
자료구조, java) 힙(heap) 구현  (0) 2021.10.06
JDK, JRE 차이점!  (0) 2021.10.02
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함