Spring @RequestBody 传递 List/Map 参数

本文节选自电子书《Netkiller Java 手札》

6.1.4. @RequestBody

处理 raw 原始数据,例如提交的时 application/json, application/xml等

		@RequestMapping(value = "/something", method = RequestMethod.PUT)  
public void handle(@RequestBody String body, Writer writer) throws IOException {  
	writer.write(body);  
} 

6.1.4.1. @RequestBody 传递 List

			package cn.netkiller.api.restful;

import java.util.List;

import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class TestRestController {

	@RequestMapping(value = "/test/list/{siteId}", method = RequestMethod.POST)
	public List<String> ping(@PathVariable("siteId") int siteId, @RequestBody List<String> tags) {
		System.out.println(String.format("%d, %s", siteId, tags));
		return (tags);
	}

}			
			$ curl -H "Content-Type: application/json" -X POST -d '["Neo","Netkiller"]' http://localhost:8440/test/list/22.json 

["Neo","Netkiller"]	

6.1.4.2. 传递 Map 数据

	@PostMapping("/finance/list")
	public String financeList(@RequestBody Map<String,String> map) {
		return financeService.financeList(map);
	}			
			% curl -H "Content-Type: application/json" -X POST -d '{"date":"2017-11-08"}' http://localhost:8440/finance/list.json			

原文发布于微信公众号 - Netkiller(netkiller-ebook)

原文发表时间:2017-11-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据结构与算法

157. [USACO Nov07] 奶牛跨栏

157. [USACO Nov07] 奶牛跨栏 ★★   输入文件:hurdles.in   输出文件:hurdles.out 简单对比 时间限制:1 s   ...

3456
来自专栏Java修行之道

SpringMVC中controller返回json数据的两种方法

662
来自专栏架构之路

SpringMVC中@RequestMapping的基本用法

最近从Struts转投SpringMVC,看代码时发现这个注解,感觉其作用应该和Struts的action差不多,把用法记录下来。 ---- 1. @Reque...

2924
来自专栏数据结构与算法

洛谷P1941 飞扬的小鸟(背包 dp)

很显然的dp,设\(f[i][j]\)表示第\(i\)个位置,高度为\(j\)的最小步数

603
来自专栏鬼谷君

python enumerate 函数用法

904
来自专栏Alice

iOS 查找字符串 相同 子字符串的位置 range

问题:解决替换同一个字符串的多个相同的字符eg.  xxx这个超级大土豪白送xxx一个!赶快来抢把! 将第一个xxx换成名字 将第二个xxx换成物品 两种办法 ...

2755
来自专栏数据结构与算法

P2580 于是他错误的点名开始了

题目背景 XS中学化学竞赛组教练是一个酷爱炉石的人。 他会一边搓炉石一边点名以至于有一天他连续点到了某个同学两次,然后正好被路过的校长发现了然后就是一顿欧拉欧拉...

2737
来自专栏lgp20151222

java-Cookie的使用

481
来自专栏calmound

CSU 1326: The contest(分组背包)

http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1326 题意:       n个题目,每个题目都有一个价值P...

2706
来自专栏冰枫

BeanFactory与FactoryBean的区别与联系

BeanFactory顾名思义:生产和管理bean的工厂。它是IOC容器的规范接口,Spring中有很多个BeanFactory的实现,如DefaultList...

5159

扫码关注云+社区