浅谈基于SpringMVC的REST功能
2016-06-14宋涛徐庆增吕思思
宋涛+徐庆增+吕思思
摘要:数据为王。作为开发人员,我们经常关注于构建优秀的软件来解决业务问题。数据只是我们软件完成工作时要处理的原材料。但是如果你问一下业务人员,数据和软件哪个更重要的话,他们很可能会选择数据。数据是许多业务的命脉。软件通常是可以替换的,但是多年积累的数据是永远不能替换的。近几年来,以信息为中心的表述性状态转移(Representational State Transfer,REST)已成为替换传统SOAP web服务的流行方案,为了帮助spring开发人员使用REST架构模式,spring3.0封装了对REST的良好支持。好消息是Spring对REST的支持是构建在SpringMVC之上的,我们将基于了解的SpringMVC知识来开发处理RESTful资源的控制器。
关键词:Spring MVC;REST; 表述性状态转移
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)12-0086-02
1了解REST
我敢打赌这并不是你第一次涉及或读到REST。近年来,关于REST已经有了许多讨论,在软件开发中你可能会发现有一种很流行的做法。那就是在推动REST替换SOAP web服务的时候,会谈论到SOAP的不足。
诚然,对于许多应用程序而言,使用SOAP可能会有点大材小用了,而REST提供了一个更简单的可选方案。问题在于并不是每个人都清楚地了解REST到底是什么。结果就出现了许多误解。在谈论Spring如何支持REST之前,我们需要对REST是什么达成共识。
2 REST的基本原理
当谈论REET时,有一种常见的错误就是将其视为“基于URL的Web服务”——将REST作为另一种类型的远程过程调用(Remote Procedure Call,RPC)机制,就像SOAP一样,只不过是通过简单的HTTP URL而不是SOAP的大量XML命名空间来触发。
恰好相反,REST与RPC几乎没有任何关系,RPC是面向服务的,并关注与行为和动作。……
