프로그래밍/J2EE

[개요] REST 이해

투칼론 2018. 1. 27. 15:59
반응형

1. REST 란?

 - REpresentational State Transfer의 약자이다. 

 - 2000년 Roy Fielding의 박사학위 논문에서 네트워크 시스템의 구조적 형식을 설명하기 위해 만든 용어

 - URI와 HTTP 메소드를 이용해 객체화된 서비스에 접근하는것이다. 

 - Restful WebService는 REST 규칙을 따르는 웹서비스 구현방식이다. 


2. URI 규칙

 1) 마지막 문자로 '/'를 사용하지 않는다

 2) 가독성을 높이기 위해 데쉬(-) 문자를 사용할 수 있다. 언더바(_)는 사용할 수 없다.

 3) 소문자만 사용한다.

 4) 확장자를 넣지 않는다.


3. 리소스 유형(Resource Type)

 1) 도큐먼트(Document) - 가장 기본이 되는 형식이고, 데이터베이스의 레코드 같은 것임

   예시) http://api.book.com/books/1

 2) 컬렉션(Collection) - 도큐먼트의 디렉터리. 즉 도큐먼트 리스트임

  예시) http://api.book.com/books

 3) 컨트롤러(Controller) - CRUD 이외의 동작

  예시) http://api.book.com/books/1/buy 


4. URI 명명 규칙

 - CRUD를 나타내는 구문은 사용하지 않을 것

   예) getBook, createBook, updateBook 등은 사용 지양할 것

 - 도큐먼트는 단수형 명사, 컬렉션은 복수형 명사, 컨트롤러는 동사를 사용할 것


5. REST에서 사용하는 HTTP 메소드

 - GET : 리소스 상태 조회

 - HEAD : 리소스 메타 데이터

 - PUT : 리소스 업데이트

 - POST : 리소스 추가

 - DELETE : 리소스 삭제 


6. 기타

- 표현(Representation)은 JSON과 XML을 사용하나, 최근에는 JSON을 많이 사용한다.

- REST에 대한 구현 표준은 JAX-RS

- 레퍼런스 구현은 Apache CXF와 Oracle Jersey가 있다.


[글참조]

https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html


'프로그래밍 > J2EE' 카테고리의 다른 글

[Tips] JDBC 쿼리(Query) 타임아웃 설정  (0) 2021.09.03
[정보] HttpServletResponse 객체  (0) 2021.02.08
[정보] HttpServletRequest 객체  (0) 2021.02.08
[정보] SSO 구현 방식  (0) 2019.01.28
[정보] PreparedStatement 예제  (0) 2016.10.07