21.1 | ASP.NET Web API 소개
Web API는 브라우저 및 모바일 장치를 비롯한 다양한 클라이언트에 연결할 수 있는 RESTful HTTP 서비스를 말한다. ASP.NET Web API는 여러 장치(모바일, 태블릿, PC 등)에서 사용할 HTTP 서비스를 쉽게 구축할 수 있도록 도와주는 프레임워크다.
REST(REpresentational State Transfer)는 클라이언트와 서버 간의 데이터를 주고받는 일반적인 스타일을 의미하며 상태가 없고(Stateless), 리소스 기반(URL)으로 HTTP 메서드(Get, Post, Put, Delete)를 구현하는 방법을 말한다. 쉽게 말해서 브라우저와 다른 클라이언트가 서버의 자료를 쉽게 읽어갈 수 있도록 허용하는 서비스다. 이러한 RESTful 서비스를 구축하는 방법 중 최선의 선택이 될 수 있는 기술이 바로 ASP.NET Web API다.
▲ 그림 21-1 ASP.NET Web API와 ASP.NET의 다른 서비스들
ASP.NET Web API는 직접 UI를 출력하는 대신에 JSON과 XML이 데이터를 주고받는 형태로 많이 사용된다. 이러한 Web API는 제이쿼리, 앵귤러(Angular) 등을 사용한 SPA(Single Page Application)를 구현하는 데 필수 항목 중 하나로 사용된다.
ASP.NET Web API는 MVC 프레임워크의 기능 대부분을 제공한다. 단, HTML을 출력하는 부분은 MVC와 다른 자바스크립트 라이브러리가 담당한다. ASP.NET Core 1.0으로 넘어오면서 MVC에 Web API가 포함된 형태로 구현할 수 있게 되었다.
▲ 그림 21-2 ASP.NET Web Pages, MVC, Web API