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 条评论
登录 后参与评论

相关文章

来自专栏lgp20151222

@Controller和@RestController的区别

我们一般都会在Controller上加上@Controller注解,但是有时候也见有加上@RestController的,现在就说说他们的区别:

1282
来自专栏颇忒脱的技术博客

Spring、Spring Boot和TestNG测试指南 - @ActiveProfiles

@ActiveProfiles可以用来在测试的时候启用某些Profile的Bean。本章节的测试代码使用了下面的这个配置:

2304
来自专栏Hongten

Hibernate 过滤器

通过调用Session对象的setFilter()和enableFilter()方法使用过滤器。

772
来自专栏F_Alex

(四)SpringBoot2.0基础篇- 多数据源,JdbcTemplate和JpaRepository

3164
来自专栏Java技术栈

SpringMVC表单验证器的使用

本章讲解SpringMVC中怎么通过注解对表单参数进行验证。 SpringBoot配置 使用springboot, spring-boot-starter-we...

2813
来自专栏一个会写诗的程序员的博客

Springboot使用JPA操作数据库第七章 使用JPA操作数据库

本章主要介绍如何在Spring Boot的Web应用中使用Mysq数据库,也充分展示Spring Boot的优势(尽可能少的代码和配置).

1253
来自专栏扎心了老铁

springboot与thrift集成实现服务端和客户端

我们这里用一个简单的小功能来演示一下如何使用springboot集成thrift 这个功能是,判断hdfs路径存在。 1、先解决依赖 <dependencie...

2.6K9
来自专栏编程坑太多

springboot (四)spring data jpa

1514
来自专栏小樱的经验随笔

Codeforces 839C Journey【DFS】

C. Journey time limit per test:2 seconds memory limit per test:256 megabytes inp...

3164
来自专栏水击三千

SpringMvc学习-增删改查

本节主要介绍SpringMVC简单的增删改查功能。 1.查询 dao中的代码 1 public List<WeatherPojo> getAllWea...

4426

扫码关注云+社区