SpringMVC与RESTful

来源:互联网 发布:图像融合算法 编辑:程序博客网 时间:2024/05/16 07:54

REST到底是什么

REST是Web服务的一种架构风格,轻量级、跨平台、跨语言的架构设计。REST是一种设计风格。它不是一种标准,也不是一种软件,而是一种思想。

REST 架构的主要原则

网络上的所有事物都可被抽象为资源(Resource)
每个资源都有一个唯一的资源标识符(Resource Identifier)
同一资源具有多种表现形式(xml、json等)
对资源的各种操作不会改变资源标识符
所有的操作都是无状态的(Stateless)
符合REST原则的架构方式即可称为RESTful

RESTful是什么

RESTful对应的中文是 REST式的。
RESTful Web Service是一种常见的REST的应用,是遵守了REST风格的web服务。
REST式的web服务是一种ROA(面向资源的架构)

资源操作

http://example.com/users/
GET : 获取一个资源
POST : 创建一个新的资源
PUT : 修改一个资源的状态
DELETE : 删除一个资源

资源展现
XML
JSON
……

http响应状态码

这里写图片描述

PUT、DELETE表单提交

默认情况下,PUT和DELETE请求是无法提交表单数据的。
解决方案:在web.xml中配置Spring提供的过滤器解决。

    <!-- 默认情况下,PUT请求是无法提交表单数据的,需要在web.xml中添加如下过滤器解决 -->    <!-- 此过滤器只能解决PUT请求问题 -->    <filter>        <filter-name>HttpMethodFilter</filter-name>        <filter-class>org.springframework.web.filter.HttpPutFormContentFilter</filter-class>    </filter>    <filter-mapping>        <filter-name>HttpMethodFilter</filter-name>        <url-pattern>/*</url-pattern>    </filter-mapping>    <!-- 将POST请求转化为DELETE或者PUT请求时,要用_method指定真正的请求参数 -->    <!-- 此过滤器可以解决DELETE或者PUT请求问题,只是需要加额外的请求参数:_method = "DELETE" 或 "PUT" -->    <filter>        <filter-name>HiddenHttpMethodFilter</filter-name>        <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>    </filter>    <filter-mapping>        <filter-name>HiddenHttpMethodFilter</filter-name>        <url-pattern>/*</url-pattern>    </filter-mapping>
1 0
原创粉丝点击