10005---SpringMVC REST
发布日期:2021-06-28 19:49:17 浏览次数:3 分类:技术文章

本文共 1990 字,大约阅读时间需要 6 分钟。



REST:即Representational State Transfer。(源)表现层态转化。是目前

最流行的一件架。它结构清晰、符合准、易于理解、展方便,
所以正得到越来越多网站的采用
源(Resources:网上的一个体,或者是网上的一个具体信息。它
可以是一段文本、一张图片、一首歌曲、一之就是一个具体的存在。
可以用一个URI源定位符)指向它,种资对应一个特定的URI。要
源,访问它的URI就可以,因此URI一个源的独一无二的
现层Representation源具体呈出来的形式,叫做它的表现层
Representation)。比如,文本可以用txt格式表,也可以用HTML
式、XML格式、JSON格式表,甚至可以采用二制格式。
态转化(State Transfer出一个求,就代表了客端和服器的一
次交互程。HTTP协议,是一个无状态协议,即所有的状都保存在服
端。因此,如果客端想要操作服器,必手段,器端
态转State Transfer)。而这种转化是建立在表现层之上的,所以就是
现层态转。具体,就是HTTP协议里面,四个表示操作方式的
GETPOSTPUTDELETE。它别对应基本操作:GET用来
源,POST用来新建源,PUT用来更新源,DELETE用来源。

示例:

– /order/1 HTTPGET:得到id = 1order
– /order/1 HTTPDELETEid = 1order
– /order/1 HTTPPUT:更新id = 1order
– /order HTTPPOST:新增order
HiddenHttpMethodFilter浏览form只支持GETPOST 请求,

DELETEPUTmethod并不支持,Spring3.0添加了一个过滤器,可以将转换

为标准的http方法,使得支持 GETPOSTPUTDELETE 请求。

/**

  * Rest 风格的 URL. 以 CRUD 为例: 新增: /order POST 修改:/order/1 PUT update?id=1

   获取:/order/1 GET get?id=1 删除: /order/1 DELETE delete?id=1

  *
  * 如何发送 PUT 请求和 DELETE 请求呢 ? 1. 需要配置 HiddenHttpMethodFilter 2. 需要发送 POST 请求
  * 3. 需要在发送 POST 请求时携带一个 input type=hidden name="_method" 的隐藏域, value= DELETE 或 PUT
  *
  * 在 SpringMVC 的目标方法中如何得到 id 呢? 使用 @PathVariable 注解

======================

jsp 页面

 <form method="post" action="springmvc/testRest/2">

     <input type="hidden" value="delete" name="_method"/>
     <input type="submit" value="RestDelete" />
 </form>

 Java程序(Controller)

 @RequestMapping(value="/testRest/{id}", method=RequestMethod.DELETE)

 public String testRestDelete(@PathVariable(value="id") Integer id){
  System.out.println("testRest Delete-->" + id);
  return SUCCESS;
 }

web.xml

  <!-- 配置HiddenHttpMethodFilter -->

  <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>

 

转载地址:https://blog.csdn.net/xxxcyzyy/article/details/47380427 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:10006---SpringMVC 映射请求参数 & 请求参数
下一篇:10004--SpringMVC @PathVariable 映射 URL 绑定的占位符 /{xxx}

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月18日 23时03分29秒