내 세상

[Spring] Spring in Action, Chapter 16. 스프링 MVC로 REST API 사용하기 본문

Technical/Spring

[Spring] Spring in Action, Chapter 16. 스프링 MVC로 REST API 사용하기

sga8 2019. 7. 30. 14:43
728x90
반응형

최근 몇 년 동안 REST(Representational State Transfer)가 전통적인 SOAP 기반의 웹 서비스에 대한 인기 있는 정보 중심의 대안으로 떠오르고 있음.

SOAP는 전형적인 동작과 프로세싱에 집중하고 있으며, REST의 관심은 데이터 처리에 있음.

 

REST의 기본 개념

  • REST에 접근할 때 자주하는 실수 중의 하나는 REST를 'URL을 이용하는 웹 서비스'라고 생각하는 것.
  • 즉, REST를 SOAP과 같이 또 다른 RPC(Remote Procedure Call) 메커니즘으로 여긴다. → 사실상 거의 연관이 없음.
  • But, REST는 SOAP의 수많은 XML 네임스페이스를 이용하지 않고 평범한 HTTP URL을 통해 호출됨.

 

  • RPC - 서비스 지향적이고 액션과 동사에 초점을 맞춤.
  • REST - 리소스 지향적이고 Appl.을 표현하는 객체와 명사를 강조함.

 

  • Representational(표현) : REST 리소스는 XML, JSON(JavaScript Object Notation), HTML을 포함하여 리소스 사용자에게 가장 적합한, 사실상 거의 모든 형식으로 표현함.
  • State(상태) : REST와 작업할 경우 리소스에 대해 취할 수 있는 액션보다 리소스의 상태에 대해 더 많은 관심을 둠.
  • Transfer(전달) : REST는 한 Appl.에서 다른 Appl.으로 어떤 표현 형식으로 리소스 데이터 전달을 포함함.
    → REST는 가장 적합한 형식이 무엇이든 간에 서버에서 클라이언트로 또는 그 반대로 리소스의 상태를 전달하는 것.

 

  • RESTful URL 구조에 대해서는 명확한 규칙은 없지만, URL에서 리소스를 구별하고 서버에 명령어를 보내지 않음. 또한, 포커싱은 되지만, 어떤 동작은 취하지 않음.
  • REST에서는 동작을 취하고, HTTP 메소드에 의해서 정의된다. 특히 GET,POST,PUT,DELETE,PATCH와 다른 HTTP 메소느는 REST를 구성한다.
  • CRUD - POST(생성), GET(읽기), PUT/PATCH(업데이트), DELETE(삭제)
728x90
반응형