- Spring Boot進階:原理、實戰與面試題分析
- 鄭天民
- 480字
- 2022-07-05 09:41:51
第4章
構建輕量級Web技術體系
Web服務層的構建可以說是開發Spring Boot應用程序最主要的工作,現實中幾乎所有互聯網應用程序都需要對外提供各種形式的Web服務。在本章中,我們的討論的對象是輕量級Web服務,其表現形式就是通過HTTP暴露的一組端點。Spring Boot為開發輕量級Web服務提供了一系列解決方案。
Spring Boot框架提供的第一套解決方案就是WebMVC,這是基于MVC(Model View Controller,模型-視圖-控制器)架構設計并實現的經典技術組件。開發人員使用一組基礎注解就可以開發Controller,并暴露RESTful風格的HTTP端點。而對服務消費,我們則可以使用RestTemplate模板工具類。
Spring Boot框架提供的第二套解決方案是HATEOAS,這是在整個REST成熟度模型中位于最高層次的技術組件。通過Spring HATEOAS,我們能夠開發超媒體組件,并實現自解釋的Web API。
最后,在前后端分離的開發模式下,開發人員面臨的一大挑戰是如何設計合理且高效的前后端交互Web API。這時候就可以引入Spring Boot框架提供的第三套解決方案,即Spring GraphQL。GraphQL是一種圖驅動的查詢語言,可以用來設計并實現滿足前后端高效交互所需的數據格式、返回結果、請求次數以及請求地址。
本章將對上述Spring Boot框架所提供的三套開發輕量級Web服務的解決方案展開詳細的討論,并給出精簡而又完整的代碼案例。