# 13 REST ​ 9年前我在HP的时候,在给某央企设计消息系统,系统需要连接各省业务系统,也要连接数百个全国业务系统。提供业务信息交换等功能。每日处理的消息多达数亿,而每条消息包含的业务信息非常大。当时参与该项目竞标都是国内外最好的消息中间件产商。 在数月的测试和评估后,HP的基于HTPP的Web应用系统获得了客户的赞赏。尽管在消息处理速度上和可靠性上,HTTP方案会逊于消息中间件,但HTTP方案被认可,还是因为具有如下优点 - HTTP协议较为简单,协议公开透明 - HTTP的成熟性,HTTP有大量可选的Web服务器,如Tomcat,Undertow,Jetty,以及商业服务器,还有配套的Web框架,如本书讲的SpringBoot,以及配套的负载均衡工具Nginx,Apache,还有性能监控工具等。可伸缩性和性能都非常优秀 - 技术的松耦合,Web方案并没有与其他技术捆绑在在一起,但又能将这些技术任意集成进来 - Web方案成本低。Web方案,无论是购买商业服务器,还是在选用技术开发人员,成本都相对较低,可选范围广 ​ HP方案的成功并不是一个偶然因数,而是当时"Web即应用平台"已经深入人心,当系统在对外提供服务的时候,无论是系统之间,还是终端与系统之间(如PC终端,移动终端,平板终端等),双方总是优先会讨论建立在Web方式上的接口,如较早的XML-RPC,曾经流行的WebService,以及现在广泛使用的RESTfull风格接口。 ​ 本章将介绍RESTful风格接口,并如何通过SpringBoot来实现RESTful,最后会介绍Swager工具,来增强RESTfull的维护开发