SpringMVC的REST风格的四种请求方式总结
发布时间 - 2026-01-11 03:00:17 点击率:次一、 在HTTP 协议里面,四个表示操作方式的动词:GET、POST、PUT、DELETE。

它们分别对应四种基本操作:
1、GET ====== 获 取资源
2、POST ======新建资源
3、PUT======= 更新资源
4、DELETE==== 删除资源
二、REST:即 Representational State Transfer。(资源)表现层状态转化。是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便, 所以正得到越来越多网站的采用。
我们可以通过rest风格占位符方式,利用@PathVariable注解将占位符的值赋给调用方法参数,实现结果:
/某路径/1 HTTP GET : 得到 id = 1 的 一条数据
/某路径/1 HTTP DELETE: 删除 id = 1的 一条数据
/某路径/1 HTTP PUT: 更新id = 1的 一条数据
/某路径 HTTP POST: 新增一条数据
实现方式(REST风格四种请求方式的调用):
我们通过@RequestMapping映射请求中的method参数实现四种请求方式的调用,以下为示例代码。
GET请求:
@RequestMapping(value="/student",method=RequestMethod.GET)
public ModelAndView toAddPage(){
ModelAndView mView=new ModelAndView();
mView.addObject("employee",new Employee());
mView.setViewName("add-stu");
mView.addObject("departments", departmentDao.getDepartments());
return mView;
}
POST请求:
@RequestMapping(value="/student",method=RequestMethod.POST)
public String addStu(Employee employee){
employeeDao.save(employee);
return "redirect:/show" ;
}
DELETE请求:
@RequestMapping(value="/student/{id}",method=RequestMethod.DELETE)
public String deleteStu(@PathVariable(value="id") Integer id){
employeeDao.delete(id);
return "redirect:/show" ;
}
PUT请求:
@RequestMapping(value="/student",method=RequestMethod.PUT)
public String Update(@RequestParam(value="id")Integer id,Employee employee){
employeeDao.save(employee);
return "redirect:/show" ;
}
三、将POST请求转化为put请求和delele请求
1.在web.xml文件中配置HiddenHttpMethodFilter过滤器:
<!-- HiddenHttpMethodFilter过滤器可以将POST请求转化为put请求和delete请求! --> <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>
2.在表单域中需要携带一个name值为_method,value值为put或者delete的参数,如下所示:
<form action="" method="post"> <input type="hidden" name="_method" value="delete"> </form>
<form:form action="${pageContext.request.contextPath}/student" method="post" modelAttribute="employee">
<c:if test="${empty employee.id }">
姓名:<form:input path="lastName"/><br>
</c:if>
<c:if test="${!empty employee.id }">
姓名:<form:input path="lastName" readonly="true"/><br>
<form:hidden path="id"/>
<input type="hidden" name="_method" value="put">
</c:if>
邮箱:<form:input path="email"/><br>
<%
Map<String,Object>map=new HashMap<String,Object>();
map.put("1","Male");
map.put("0", "Female");
request.setAttribute("genders", map);
%>
性别:<form:radiobuttons path="gender" items="${genders}"/><br>
部门:<form:select path="department.id" items="${departments}" itemValue="id" itemLabel="departmentName"></form:select><br>
<input type="submit" value="提交">
</form:form>
最后在Controller层调用即可。根据@RequestMapping的value值以及携带的参数、请求方式查找匹配函数。
以上这篇SpringMVC的REST风格的四种请求方式总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# SpringMVC
# REST风格
# SpringMVC RESTFul及REST架构风格介绍
# java开发SSM框架具有rest风格的SpringMVC
# springmvc Rest风格介绍及实现代码示例
# SpringMVC REST风格深入详细讲解
# 四种
# 给大家
# 转化为
# 值为
# 互联网
# 我们可以
# 希望能
# 所示
# 这篇
# 表单
# 最流行
# 小编
# 大家多多
# 是目前
# ModelAndView
# add
# addObject
# public
# employee
# mView
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何将凡科建站内容保存为本地文件?
bootstrap日历插件datetimepicker使用方法
Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】
如何在阿里云虚拟服务器快速搭建网站?
JavaScript数据类型有哪些_如何准确判断一个变量的类型
Laravel怎么在Blade中安全地输出原始HTML内容
linux top下的 minerd 木马清除方法
Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析
phpredis提高消息队列的实时性方法(推荐)
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
太平洋网站制作公司,网络用语太平洋是什么意思?
Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权
Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案
Laravel如何实现API速率限制?(Rate Limiting教程)
香港服务器部署网站为何提示未备案?
Laravel如何实现数据库事务?(DB Facade示例)
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
如何快速查询网址的建站时间与历史轨迹?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
如何批量查询域名的建站时间记录?
原生JS获取元素集合的子元素宽度实例
微信h5制作网站有哪些,免费微信H5页面制作工具?
Laravel Session怎么存储_Laravel Session驱动配置详解
标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析
Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
Laravel如何实现用户注册和登录?(Auth脚手架指南)
Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控
如何用PHP工具快速搭建高效网站?
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性
HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】
高端建站三要素:定制模板、企业官网与响应式设计优化
Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】
jQuery 常见小例汇总
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
西安专业网站制作公司有哪些,陕西省建行官方网站?
Python并发异常传播_错误处理解析【教程】
百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧
Laravel怎么导出Excel文件_Laravel Excel插件使用教程
香港服务器网站卡顿?如何解决网络延迟与负载问题?
如何快速上传建站程序避免常见错误?
今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】
如何在万网开始建站?分步指南解析
Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程
Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置
软银砸40亿美元收购DigitalBridge 强化AI资料中心布局
微信公众帐号开发教程之图文消息全攻略
如何选择PHP开源工具快速搭建网站?

