key=value
基本的数据类型及其包装类 String
@RequestMapping("/simple")
//RequestMapping指定参数要穿的参数名
public String simple(@RequestMapping("userId") int id, String name) {
System.out.println("id=" + id);
System.out.println("name=" + name);
return "hello";
}
JavaBean
/**
* Java Bean接收表单参数(Java Bean参数没有使用任何注解)
*/
@RequestMapping("/bean")
public String bean(User user) {
System.out.println(user);
return "hello";
}
数组
* hobby:中,文 两个 后端接收的时候需要Spring过滤器提供的字符编码
/**
* arrayList数组接收表参数
* hobby:1,2,3 三个
* hobby:123 一个
* hobby:中,文 两个 后端接收的时候需要Spring过滤器提供的字符编码
*/
@RequestMapping(value = "/array", method = RequestMethod.POST)
public void array(String[] hobbies, HttpServletResponse response) throws IOException {
for (String hobby : hobbies) {
System.out.println(hobby);
}
response.setContentType("text/plain;charset=utf-8");
//不想返回一个界面
response.getWriter().print("执行成功");
}
List集合
使用list必须使用声明对象的注解@RequestParam json参数List使用的是@RequesBody
使用@ResponseBody返回json
/**
* 创建一个list对象接收表单参数
*/
@RequestMapping(value = "/list", method = RequestMethod.POST, produces = "text/plain;charset=utf-8")
//只要不想显示界面,就可以用ResponseBody,只不过返回json用的多 Json形式响应头的Content-Type
@ResponseBody
public String list(@RequestParam List<String> hobbies) {
for (String hobby : hobbies) {
System.out.println(hobby);
}
return "执行成功";
}
Map集合
Map集合同样使用@RequestParam创建Map对象
@ResponseBody返回json
/**
* 使用Map接收表单参数
* 与JavaBean不同 JavaBean必须得包含所具有的属性名
* Map可以是任意类型的key{key=value,key=value}
* 参数确定==>Java Bean
* 不确定==>Map
*/
@RequestMapping(value = "/map", produces = "text/plain;charset=utf-8")
@ResponseBody
public String map(@RequestParam Map<String, Object> map) {
System.out.println(map);
return "执行成功";
}
json
String list map javabean都可以接收json
需要使用MappingJackson2HttpMessageConverter==>需要导入jackson依赖
jackson-
core.jar
、
jackson
-
annotations.jar
、
jackson
-
databind.jar
JavaBean
@RequestMapping("/bean")
/**
* Map,List前面必须得加注解
* @RequsetBody就是json
* @RequsetParam就是form表单
*/
public Object jsonToBean(@RequestBody User user) {
Map<String, Object> result = new HashMap<>();
result.put("code", 200);
result.put("msg", "成功");
result.put("data", "");
return result;
}
List集合 1
/**
* ["读书","看报"]是一个json数组 produces解决发中文返回?????问题 Content-Type拉丁==>utf-8
*/
@RequestMapping(value = "/list", produces = "text/plain;charset=utf-8")
public String jsonToList(@RequestBody List<String> hobbies) {
for (String hobby : hobbies) {
System.out.println(hobby);
}
return "执行成功";
}
List集合 2
/**
* [{"username":"zs"},{"age":11}]
*/
@RequestMapping(value = "/list2", produces = "text/plain;charset=utf-8")
public Object jsonToList2(@RequestBody List<User> users) {
users.forEach(System.out::println);
return "执行成功";
}
Map集合
/**
* Map接收json参数
*/
@RequestMapping("/map")
public String jsonToMap(@RequestBody Map<String, Object> map) {
System.out.println(map);
return "{ \"code\":200,\"msg\":\"success\"}";
}