Springmvc接收json数据的4种方式

1、以RequestParam接收

前端传来的是json数据不多时:[id:id],可以直接用@RequestParam来获取值

@Autowired
private AccomodationService accomodationService;@RequestMapping(value = "/update")
@ResponseBody
public String updateAttr(@RequestParam ("id") int id) {int res=accomodationService.deleteData(id);return "success";
}

2、以实体类方式接收

前端传来的是一个json对象时:{【id,name】},可以用实体类直接进行自动绑定

@Autowired
private AccomodationService accomodationService;@RequestMapping(value = "/add")
@ResponseBody
public String addObj(@RequestBody Accomodation accomodation) {this.accomodationService.insert(accomodation);return "success";
}

3、以Map接收

前端传来的是一个json对象时:{【id,name】} 可以用Map获取

@Autowired
private AccomodationService accomodationService;@RequestMapping(value = "/update")
@ResponseBody
public String updateAttr(@RequestBody Map<String, String> map) {if(map.containsKey("id"){Integer id = Integer.parseInt(map.get("id"));}if(map.containsKey("name"){String objname = map.get("name").toString();}// 操作 ...return "success";
}

4、以List接收

当前端传来这样一个json数组:[{id,name},{id,name},{id,name},…]时,用List接收

@Autowired
private AccomodationService accomodationService;@RequestMapping(value = "/update")
@ResponseBody
public String updateAttr(@RequestBody List<Accomodation> list) {for(Accomodation accomodation:list){System.out.println(accomodation.toString());}return "success";
}

补充4
SpringMVC接收List型参数
1、controller

@RequestMapping("/postList")
@ResponseBody
public String postList(@RequestBody List<TestL> testL){System.out.println(testL);return null;}

注意:参数前面必须有注解 @RequestBody

2、ajax请求

var testList=[];
var user={};
user.id=1;
user.name='jack';
testList.push(user);
var user2={};
user2.id=2;
user2.name='tom';
testList.push(user2);
$.ajax({// headers必须添加,否则会报415错误headers: {'Accept': 'application/json','Content-Type': 'application/json'},type: 'POST',dataType: "json", //表示返回值类型,不必须data: JSON.stringify(testList),url: '/test/postList',success: function(){alert('success');}});

注意点:
1、参数是数组类型

2、传入data时,转换 JSON.stringify(testList)

3、必须有

headers: {'Accept': 'application/json','Content-Type': 'application/json'}

最后再看下TestL类,没有特别之处(不用包装)。

public class TestL {private Integer id;private String name;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}

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

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

相关文章

centos安装mysql卡住_CentOS 6.4安装MySQL的过程中出现的bug

在CentOS 6.4下安装MySQL&#xff0c;下载一个源码包&#xff0c;感觉很简单&#xff0c;tar&#xff0c;./configure&#xff0c;make&#xff0c;make install 经典四步&#xff0c;弄这个也不是第一次了&#xff0c;但今天就是老出错&#xff0c;首先是./configure中&#x…

SpringMVC接受List的几种方式

说到SpringMVC接受List参数&#xff0c;可能有人会说这个是个坑&#xff01;下面我来跟大家说怎么补这个坑。下面我分几种情况来讲&#xff1a; 一、只接收一个List 1、form表单提交 controller代码&#xff1a; ResponseBody RequestMapping("test") public voi…

mysql怎么加固_mysql安装及加固

mysql安装查看是否安装mysql我们先看一下有没有安装mysqlyum list installed mysql | grep mysql本地只安装了php链接mysql的库&#xff0c;没有安装mysql如果有安装&#xff0c;可以使用安装的或者卸载了重新安装添加yum源去mysql官网查找下面我就来安装下yum源sudo rpm -ivh …

python标准库os的方法listdir_使用python标准库快速修改文件名字

大家在追剧的时候会一次性下载很多电影&#xff0c;但是很烦人的是前面会有很多电影网站的广告前缀。今天我将介绍一个简短的代码&#xff0c;快速修改这些文件的名字。工具&#xff1a;os首先在电影目录下新建一个py文件&#xff0c;并导入osimport osos&#xff0c;是python中…

RabbitMQ保姆级教程

文章目录 前言一、MQ是什么&#xff1f; 1.1 AMQP 二、在Linux安装RabbitMQ 2.1 安装2.2 RabbitMQ启动命令2.3 开启RabbitMQ 后台管理界面 2.3.1 登录rabbitMQ UI界面 2.3 Docker启动RabbitMQ2.4 常见消息模型2.5 生产者(Producer) / 消费者(Consumer)2.6 工作队列模式(Work Q…

spring mysql 连接池配置_SpringBoot数据库连接池常用配置

关注公众号&#xff1a;程序猿王国 持续更新&#xff0c;每日分享在配置文件中添加配置如下(我使用的是多数据源)&#xff1a;spring.datasource.primary.urljdbc\:mysql\://localhost\:3306/test?useUnicode\true&characterEncoding\utf-8spring.datasource.prim…

交换机到底是啥?

1、交换机 交换机个人资料&#xff1a; 1.证件照 注&#xff1a;copy 百度百科 我的博客/交换机到底是啥&#xff1f; 这东西乍一看有点像月光宝盒&#xff0c;是不是。 2.个人简介 交换机&#xff08;Switch&#xff09;意为“开关”是一种用于电&#xff08;光&#xff0…

unity3d 动态合批设置_Unity3D SkinnedMeshRenderer合批优化

最近做了性能优化相关的工作&#xff0c;其中一些是关于战斗模块的渲染的。主要是对场景中使用的基于SkinnedMeshRenderer的网格进行了一些合批优化(降DC)&#xff0c;记录如下。项目使用的Unity版本为5.6.4p1。游戏中的战斗模块是这样的&#xff1a;战斗逻辑由服务器承担&…

java——Final修饰成员变量的注意事项

一&#xff0e;Final 修饰成员变量的注意事项 final修饰成员变量&#xff0c;该成员变量必须在创建对象之前进行赋值&#xff0c;否则编译失败final修饰成员变量&#xff0c;固定的不是成员变量拥有的默认值&#xff0c;如果固定的是默认值&#xff0c;那么将导致被final修饰的…

php 编写mysql_php编写数据写入mysql问题

我刚写好的&#xff1a;前台是htm界面填写数据留言板...我刚写好的&#xff1a;前台是 htm界面 填写数据留言板你的姓名&#xff1a;你的性别&#xff1a;男 女你的email&#xff1a;你的留言内容&#xff1a;后台是&#xff1a;if(isset($_POST)) // 只有 $_POST 变量存在&…

java 代码 点到线段的最短距离

// 点到直线的最短距离的判断 点&#xff08;x0,y0&#xff09; 到由两点组成的线段&#xff08;x1,y1&#xff09; ,( x2,y2 )private double pointToLine(int x1, int y1, int x2, int y2, int x0,int y0) {double space 0;double a, b, c;a lineSpace(x1, y1, x2, y2);// …

isNotBlank()和isNotEmpty()的区别——java中,StringUtils类中的一些常用方法

java中&#xff0c;StringUtils类中的一些常用方法 boolean isBlank(String str) //判断某字符串是否为空或长度为0或由空白符(whitespace)构成 StringUtils.isBlank(null) true StringUtils.isBlank("") true StringUtils.isBlank(" ") true StringUt…

java类的加载顺序_java类加载先后顺序

这里讲的不是类加载机制,是类的加载先后顺序。话不多说了&#xff0c;先设定以下场景:package com.jingdong;public class A {public static void main(String[] args){System.out.println(Ib.b);B bnew B();b.ibTest();}}public class B implements Ib{private D d;private C …

MyBatis:模糊查询的4种实现方式

1、根据姓名模糊查询员工信息 1.1、方式一 步骤一&#xff1a;编写配置文件 步骤二&#xff1a;测试 步骤三&#xff1a;分析 此种方式需要在调用处手动的去添加“%”通配符。 1.2、方式二 说明&#xff1a; 使用方式一可以实现模糊查询&#xff0c;但是有一点不方便的地…

java 阻塞 socket_java socket非阻塞I/O

1 非阻塞(Nonblocking)体系结构在这一部分&#xff0c;我将从理论的角度来解释非阻塞体系的结构及其工作原理。这部“喜剧”(当然&#xff0c;如果你喜欢的话也可以称做戏剧)的“人物”如下&#xff1a;●服务器端&#xff1a;接收请求的应用程序。●客户端&#xff1a;向…

java panel frame_Java 版 (精华区)--Frame和Panel的区别【转载】

初学Java的时候一直弄不清Frame和Panel的区别&#xff0c;都是在上面装组件&#xff0c;也没看出什么所以然&#xff0c;一直稀里糊涂地用。最近看来一下Java类库中几个主要类的源文件&#xff0c;才明白了一点所以然。写下了此文&#xff0c;希望能给大家一点帮助。让我们先看…

js解析java对象数组_js接收并转化Java中的数组对象的方法

在做项目时&#xff0c;要向ocx控件下发命令&#xff0c;就要在js中得到java中的对象&#xff0c;然后拼成一种格式&#xff0c;下发下去。。。当对象是一个时比较简单&#xff0c;但如果对象是一个数组时&#xff0c;就略显麻烦了。开始我以为有简单的方式&#xff0c;可以直接…

预处理prepareStatement是怎么防止sql注入漏洞的?

序&#xff0c;目前在对数据库进行操作之前&#xff0c;使用prepareStatement预编译&#xff0c;然后再根据通配符进行数据填值&#xff0c;是比较常见的做法&#xff0c;好处是提高执行效率&#xff0c;而且保证排除SQL注入漏洞。 一、prepareStatement的预编译和防止SQL注入…

java mod函数的使用方法_java 数学计算的具体使用

java.lang.Math 库提供了常用的数学计算工具常量final double E 2.7182818284590452354; // 自然对数底数final double PI 3.14159265358979323846; // 圆周率final double DEGREES_TO_RADIANS 0.017453292519943295; // 角度转弧度final double RADIANS_TO_DEGREES 57.295…

mybatis中的#{}和${}区别,和使用场景

mybatis中的#{}和${}区别 1.#将传入的数据都当成一个字符串&#xff0c;会对自动传入的数据加一个双引号。如&#xff1a;order by #user_id#&#xff0c;如果传入的值是111,那么解析成sql时的值为order by “111”, 如果传入的值是id&#xff0c;则解析成的sql为order by “i…