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

本文共 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}

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月08日 03时47分25秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

工作总结04-脚本 2019-04-29
01-MYSQL8环境搭建 2019-04-29
02-初始数据库 2019-04-29
03-基础查询和排序 2019-04-29
字节跳动Android金三银四解析:插件化框架解读之android系统服务实现原理,讲的明明白白! 2019-04-29
农民工看完都会了!GitHub上标星13k的《Android面试突击版》,吊打面试官系列! 2019-04-29
升职加薪必看!读完我这份《Android开发核心源码精编解析》面试至少多要3K!附答案 2019-04-29
华为架构师深入讲解Android开发!为什么Flutter能最好地改变移动开发?吐血整理 2019-04-29
基于安卓的兼职app开发!万字长文轻松彻底入门Flutter,终获offer 2019-04-29
大牛深入讲解!2021年Android网络编程总结篇,书籍+视频+学习笔记+技能提升资源库 2019-04-29
大牛深入讲解!算法题+JVM+自定义View,大厂内部资料 2019-04-29
太厉害了!记录一次腾讯Android岗面试笔试总结,全套教学资料 2019-04-29
如何成为杰出的程序员?阿里P8架构师的Android大厂面试题总结,已拿到offer 2019-04-29
字节跳动社招面试记录,关于网络优化你必须要知道的重点,附面试题答案 2019-04-29
大牛手把手带你!宅家36天咸鱼翻身入职腾讯,经典好文 2019-04-29
大牛深入讲解!Android高级工程师面试实战,一线互联网公司面经总结 2019-04-29
如何成为杰出的程序员?2021年Android高级面试题,2年以上经验必看 2019-04-29
字节跳动社招面试记录,2021年上半年最接地气的Android面经,实战解析 2019-04-29
安卓3d游戏开发视频!春招我借这份PDF的复习思路,完整版开放下载 2019-04-29
安卓app开发!大厂Offer拿到手软啊!年薪超过80万! 2019-04-29