back/Spring

[Spring] Spring MVC 와 RestFul 방식의 차이점

Min_dev 2023. 1. 24. 09:35
반응형

 

Spring MVC란?

 

Spring MVC는 HTTP Request를 처리하는 부분인 Controller, 데이터를 처리해 정제된 데이터를 넣는 Model, 정제된 데이터를 활용해 사용자에게 보여지는 View에 대한 역활 분리가 되어있다. Spring MVC를 사용하면 Model, View, Controller 모두를 인터페이스를 사용해 규격화 해놓고 확장성 있게 웹 애플리케이션을 설계할 수 있다.

 

 

RestFul이란?

RestFul이란 REST의 원리를 따르는 시스템을 의미한다. 하지만 REST를 사용했다고 해서 모두가 RestFul 한 것은 아니다.

REST API의 설계 규칙을 올바르게 지킨 시스템을 RsetFul하다 말할 수 있으며 모든 CRUD 기능을 POST로 처리하는 API 혹은 URI 규칙을 올바르게 지키지 않은 API는 REST API의 설계 규칙을 사용하였지만 RestFul하지 못한 시스템이라고 할 수 있다.

 

 

Spring MVC와 RestFul 방식의 차이

 

 

Spring MVC

Spring MVC 방식은 클라이언트의 요청이 들어오면 ViewResolver를 통해 클라이언트에게 text/html 타입의 view를 응답으로 보낸다.

 

 

 

 

RestFul

RestFul 방식은 클라이언트의 요청이 들어오면 MessageConverter를 통해 application/json이나 test/plain 등 알맞은 형태로 리턴한다.

 

즉 둘의 차이는 기존 MVC는 DispatcherServlet을 거쳐 view를 응답하지만 RestFul은 DispatcherServler을 거치지 않고 json형식의 데이터를 응답한다.
반응형