SpringMVC互联网软件架构REST使用详解

2025-05-29 0 107

什么是rest

rest:即 representational state transfer。(资源)表现层状态转化。是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用

☐ 资源(resources):网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的存在。可以用一个uri(统一资源定位符)指向它,每种资源对应一个特定的 uri 。要获取这个资源,访问它的uri就可以,因此 uri 即为每一个资源的独一无二的识别符。

☐ 表现层(representation):把资源具体呈现出来的形式,叫做它的表现层(representation)。比如,文本可以用 txt 格式表现,也可以用 html 格式、xml 格式、json 格式表现,甚至可以采用二进制格式。

☐ 状态转化(state transfer):每发出一个请求,就代表了客户端和服务器的一次交互过程。http协议,是一个无状态协议,即所有的状态都保存在服务器端。因此,如果客户端想要操作服务器,必须通过某种手段,让服务器端发生“状态转化”(state transfer)。而这种转化是建立在表现层之上的,所以就是 “表现层状态转化”。

☐ 具体说,就是 http 协议里面,四个表示操作方式的动词:get、post、put、delete。它们分别对应四种基本操作:

      ☐ get 用来获取资源,
      ☐ post 用来新建资源,
      ☐ put 用来修改资源,
      ☐ delete 用来删除资源。

如何使用rest

我们想实现的效果如下图,通过客户端访问特殊url(例如该url末尾的数字表示用户id)来快速实现curd操作。

SpringMVC互联网软件架构REST使用详解

但是,浏览器 form 表单只支持 get与 post 请求,而delete、put 等 method 并不支持,spring3.0 添加了一个过滤器,可以将这些请求转换为标准的 http 方法,使得支持 get、post、put 与delete 请求.这个过滤器就是hiddenhttpmethodfilter

过滤器的实现原理大致如下:检测请求参数中是否包含 _method这个参数,如果包含则获取其值,然后判断是哪种操作后继续传递:    

?

1

2

3

4

5

6

7

8

9

10

11

12
protected void dofilterinternal(httpservletrequest request, httpservletresponse response, filterchain filterchain) throws servletexception, ioexception {

//methodparam="_method";

     string paramvalue = request.getparameter(this.methodparam);

if("post".equals(request.getmethod()) && stringutils.haslength(paramvalue)) {

string method = paramvalue.touppercase(locale.english);

hiddenhttpmethodfilter.httpmethodrequestwrapper wrapper = new hiddenhttpmethodfilter.httpmethodrequestwrapper(request, method);

filterchain.dofilter(wrapper, response);

} else {

filterchain.dofilter(request, response);

}

}

演示(rest风格的访问)

1.配置过滤器hiddenhttpmethodfilter,可以把post请求转换为delete或put请求:

SpringMVC互联网软件架构REST使用详解

2.在表单中携带隐藏域

SpringMVC互联网软件架构REST使用详解

说明:name="_method';

3.在控制器中处理请求

SpringMVC互联网软件架构REST使用详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持快网idc。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 SpringMVC互联网软件架构REST使用详解 https://www.kuaiidc.com/117782.html

相关文章

发表评论
暂无评论