java rest风格传参_SpringMVC的REST风格的四种请求方式总结

一、 在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

org.springframework.web.filter.HiddenHttpMethodFilter

hiddenHttpMethodFilter

/*

2.在表单域中需要携带一个name值为_method,value值为put或者delete的参数,如下所示:

姓名:

姓名:

邮箱:

Mapmap=new HashMap();

map.put("1","Male");

map.put("0", "Female");

request.setAttribute("genders", map);

%>

性别:

部门:

最后在Controller层调用即可。根据@RequestMapping的value值以及携带的参数、请求方式查找匹配函数。

以上这篇SpringMVC的REST风格的四种请求方式总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2017-08-28

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/245922.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java语言编写进制转换_Java 3种方法实现进制转换

由其他进制转换为十进制比较简单,下面着重谈一谈十进制如何化为其他进制。1.使用Java带有的方法Integer,最简单粗暴了,代码如下//使用java提供的方法//但仅局限于比较常用的二进制、八进制、十六进制public static String trans1(int num, in…

r语言聚类分析_图说层次聚类分析原理和R语言实现

1、引言“物以类聚、人以群分”。但我们面对一群人或者一堆物的时候,我们都希望将他们分分类,分类之后,我们才能更加有针对性地采取措施,从而提高工作效率。如,我们将消费者分成若干类,有的是土豪、有的是工…

peewee创建mysql_python – peewee MySQL,如何创建包装SQL构建的ins的自定义字段类型?...

我想在peewee(通过MySQL)创建一个自定义UUID字段.在python中,我使用UUID作为一个六角形字符串,例如:uuid ’110e8400-e29b-11d4-a716-446655440000′但是我想将它存储在数据库中的BINARY(16)类型的列中以节省空间.MySQL内置了HEX()和UNHEX()方法,可以在字符串和二进…

python scrapy教程实例_Python之scrapy实例1

下文参考:http://www.jb51.net/article/57183.htm个人也是稍加整理,修改其中的一些错误,这些错误与scrapy版本选择有关,个环境:Win7x64_SP1 Python2.7 scrapy1.1另外例子中的URL(http://www.dmoz.org/Computers/Prog…

goods.java_javaweb网上书城项目 1.用户管理:注册会员 - 下载 - 搜珍网

压缩包 : java web网上图书商城项目.zip 列表java web网上图书商城项目/java web网上图书商城项目/goods/java web网上图书商城项目/goods/.classpathjava web网上图书商城项目/goods/.myeclipse/java web网上图书商城项目/goods/.mymetadatajava web网上图书商城项目/goods/.p…

python样本不均衡_使用Python中的smote处理正负样本之间的不平衡,python,实现,失衡,问题...

机器学习中难免遇到正负样本不平衡问题,处理办法通常有梁总,一:过采样,增加正样本数据;二:欠采样,减少负样本数据,缺点是会丢失一些重要信息。smote属于过采样。代码# from imblearn…

java 检测硬盘原理_深入Java核心 Java内存分配原理精讲

Java内存分配与管理是Java的核心技术之一,一般Java在内存分配时会涉及到以下区域:◆寄存器:我们在程序中无法控制◆栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中◆堆&#xf…

python调用sdk的文章_如何使用 python 接入虹软 ArcFace SDK

公司需要在项目中使用人脸识别SDK,并且对信息安全的要求非常高,在详细了解市场上几个主流人脸识别SDK后,综合来看虹软的Arcface SDK比较符合我们的需求,它提供了免费版本,并且可以在离线环境下使用,这一点非…

java web 导出word_JavaWeb Project使用FreeMaker导出Word文件

基本思路1. 导入freemaker2.3.jar2. 需要导出的Word模板3. 在Word内填入值的标签4. Word另存为xml(2003版本)5. Coding6. 导出Word文件具体操作1. Intellij IDEA > FIle > Project Structure > Libraries > ""(左下角) > OK导入Freemaker Jar2. Word模…

机器人编程与python语言的区别_儿童编程和机器人编程有啥区别?

这是最全面的回答!一篇文章让你彻底了解少儿编程和机器人编程的区别!虽然都带有“编程”二字,但少儿编程和机器人编程还是有本质区别的,有哪些不一样呢?偷懒的家长可以直接看下面这张表格:想要详细了解的话…

php中tables,php显示TABLE数据

php显示TABLE数据2018-11-22//processShowData.php查询数据库表信息学生一览表<?php echo $id ?><?php echo $name ?><?php echo $age ?><?php echo $sex ?><?php echo $address ?>结果&#xff1a;学号姓名年龄性别地址1Jane26female…

云服务器安装python_云服务器 搭建 python

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":6,"count":6}]},"card":[{"des":"云服务器 ECS(Elastic Compute Service)是一…

php获取当前系统配置文件,thinkphp5.1+配置文件结构及获取

tp5.1和5.0的差别还是不小的&#xff0c;取消了很多东西&#xff0c;例如基本配置项就做了很大的改变。5.1没有config.php配置文件&#xff0c;默认配置都在app.php配置文件&#xff0c;并且配置参数区分大小写&#xff0c;所有的配置文件在config目录下。和5.0最大的区别是&am…

sql 除以_使用SQL分析游戏运营情况

数据来源&#xff1a;http://www.dcjingsai.com/common/cmpt/%E6%B8%B8%E6%88%8F%E7%8E%A9%E5%AE%B6%E4%BB%98%E8%B4%B9%E9%87%91%E9%A2%9D%E9%A2%84%E6%B5%8B%E5%A4%A7%E8%B5%9B_%E7%AB%9E%E8%B5%9B%E4%BF%A1%E6%81%AF.html游戏介绍&#xff1a;《野蛮时代》是一款SLG游戏。在…

好看的php验证码,一漂亮的PHP图片验证码实例

一、显示效果二、代码如下代码如下:/** Author fy*/$imgwidth 100; //图片宽度$imgheight 40; //图片高度$codelen 4; //验证码长度$fontsize 20; //字体大小$charset abcdefghkmnprstuvwxyzABCDEFGHKMNPRSTUVWXYZ23456789;$font Fonts/segoesc.ttf;$imimagecreatetruecolor…

检测到目标服务器启用了trace方法_深度学习检测小目标常用方法

引言在深度学习目标检测中&#xff0c;特别是人脸检测中&#xff0c;小目标、小人脸的检测由于分辨率低&#xff0c;图片模糊&#xff0c;信息少&#xff0c;噪音多&#xff0c;所以一直是一个实际且常见的困难问题。不过在这几年的发展中&#xff0c;也涌现了一些提高小目标检…

php正则大小写字母,php 常见email,url,英文大小写,字母数字组合等正则表达式详解...

操作符 描述\ 转义符(), (?:), (?), [] 圆括号和方括号*, , ?, {n}, {n,}, {n,m} 限定符^, $, \anymetacharacter 位置和顺序| “或”操作全部符号解释字符 描述\ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如&#xff0c;’…

学python五大理由_学习Python的五大理由

Python已经是25岁的大叔级编程语言了&#xff0c;但近年来Python反而变得越来越流行&#xff0c;在TIOBE编程语言指数排行榜中&#xff0c;Python的排名从去年的第八名飙升到了第五名(下图)。无论是编程新手还是保持饥饿的编程老鸟&#xff0c;Python都有着不可阻挡的魅力&…

redis连不上java,java使用jedis连不上linux上redis服务

java用的jedis连接redis。reids是安装在虚拟机里面&#xff0c;ip是192.168.216.128&#xff0c;在本地能ping通虚拟机&#xff0c;并且xshell也能远程登录虚拟机。虚拟机内的redis服务正常&#xff0c;可以启动&#xff0c;并且执行命令没问题。问题&#xff1a;在虚拟机外tel…

python图片隐写_Lsb图片隐写

前言在刚刚过去的网鼎杯第一场比赛中&#xff0c;做到了一道杂项题是关于lsb隐写的。LSB全称为 least significant bit&#xff0c;是最低有效位的意思。Lsb图片隐写是基于lsb算法的一种图片隐写术&#xff0c;以下统称为lsb隐写&#xff0c;这是一种常见的信息隐藏方法。当然关…