说到Rest就要知道它是怎么出现的?
REST这个词,是Roy Thomas Fielding在他2000年的博士论文中提出的。Fielding是一个非常重要的人,他是HTTP协议(1.0版和1.1版)的主要设计者、Apache服务器软件的作者之一、Apache基金会的第一任主席。所以,他的这篇论文一经发表,就引起了关注,并且立即对互联网开发产生了深远的影响。
Fielding将他对互联网软件的架构原则,定名为REST,即Representational State Transfer的缩写。我对这个词组的翻译是"表现层状态转化"。
如果一个架构符合REST原则,就称它为RESTful架构。
如:GET /tickets/12 # 查看某个具体的ticket
可以看出,restful API是通过地址栏传递参数,简洁,美好,安全。
而传统的http协议的get方式的提交是在地址栏以key=value形式传递参数,不仅不简洁,而且传递的参数处于不安全的模式,参数的大小也是被限定的。
由此可见,restful 风格的API 优雅了我们的访问路径~
在springMVC中如何实现restful风格API呢?
其实很简单,只要在我们现有的application中,使用@PathVariable() 注解就可以实现了。
首先,在spring的applicationContext.xml配置文件中,添加:
<!-- 使用spring自带的占位符替换功能,可以实现注解方式获取属性文件中的配置值 -->
<bean
class="com.jt.common.spring.exetend.ExtendedPropertyPlaceholderConfigurer">
<!-- 允许JVM参数覆盖 -->
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
<!-- 忽略没有找到的资源文件 -->
<property name="ignoreResourceNotFound" value="true" />
</bean>
然后在controller中:
@RequestMapping(value="/ticket/{id}") //注意使用占位符
public Map selectById(@PathVariable Long id){ //注意一定要用注解接收地址栏传递的参数
………… }
在整个项目中对于restful风格API的设计一定要统一规范哦~