前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Boot 中,Json 数据传值方式

Spring Boot 中,Json 数据传值方式

作者头像
水货程序员
修改2018-11-20 22:20:40
2.9K0
修改2018-11-20 22:20:40
举报
文章被收录于专栏:javathings

之前整理过一篇 Spring MVC 中的传值方式。《Spring MVC 传值方式总结》

介绍了多种传值方式,Spring Boot 本质上就是一个配置好的 Spring MVC,所以能够全盘通用。

这里再举例一下,最常用的传递 Json 数据的方式,前端传递到 Controller,以及 Controller 传递到前端。

Controller中的代码

代码语言:javascript
复制
@Controller
public class Index {
	@PostMapping("/accept")
	@ResponseBody
	public Map<String, String> Accept(@RequestBody User user) {
		Map<String, String> map = new HashMap<String, String>();
		map.put("username", user.firstname+" "+user.lastname);
		return map;
 
	}
}
 
class User {
 
	String firstname;	
	String lastname;
 
	public String getFirstname() {
		return firstname;
	}
 
	public void setFirstname(String firstname) {
		this.firstname = firstname;
	}
 
	public String getLastname() {
		return lastname;
	}
 
	public void setLastname(String lastname) {
		this.lastname = lastname;
	}
 
}

前端代码:

代码语言:javascript
复制
<script type="text/javascript"
	src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.0.js"></script>
<script>
	$(function() {
		var person={firstname:"Bill", lastname:"Gates"};
		var options = {
			type : 'post',
			url : "/accept",
			data: JSON.stringify(person),//取得person对象的string
                        contentType: 'application/json',
			success : function(result) {
				alert(result.username);
			}
		};
 
		$("#btn1").click(function() {
			$.ajax(options);
		});
	});
</script>
</head>
<body>
	<input type="button" id="btn1" value="test" />
</body>
</html>

代码说明:

Controller 端,参数 User 类,必须和前端传来的 json 串结构相同,能够稳定的反序列化,不然会接收不到正确的值。@RequestBody 注解意味着需要将前端传来的 json 串转成 User 类,必须要有这个注解。同理@ResponseBody 注解,将 Controller 中返回的类型序列化成 Json 格式,返回到前端。

前端 jquery 代码,注意传输的类型必须是 contentType: ‘application/json’, 并且传输的 data 是一个 json 数据的字符串,并且和接收端的格式是一致的,不然会出错。提交成功后的返回值,是一个 json 对象,可以直接读取这个 json 对象的值。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档