目录
一、创建工作环境
1、打开postman,点击工作区
?2、点击新建
3、添加名字,点击创建
4、工作区可以自由切换工作区
5、点击创建发送请求
6、更换请求方式
7、保存测试
二、测试发送请求,使用的时候服务一定要启动
1、普通传参,发送get请求,添加路径和参数,点击发送请求
2、普通传参,发送post请求,添加路径和参数,点击发送请求
?3、普通传参,后端接收请求
4、前端接收数据的方式(jsp页面)
5、不同参数:请求名称与参数名不同使用@RequestParam注解
6、实体类参数:请求参数名与实体类属性名相同,定义实体类型形参即可接收参数
7、嵌套实体类参数:请求参数名与实体类属性名相同,按照对象层次结构关系即可接收嵌套实体类属性参数
8、数组参数:请求参数名与形参对象属性名相同且请求参数为多个,定义数组类型形参即可接收参数
9、集合保存普通参数:请求参数名与形参集合对象名相同且请求参数为多个,@RequestParam绑定参数关系
10、json传参
11、日期类型参数传递
一、创建工作环境
1、打开postman,点击工作区
?2、点击新建
3、添加名字,点击创建
4、工作区可以自由切换工作区
5、点击创建发送请求
6、更换请求方式
7、保存测试
二、测试发送请求,使用的时候服务一定要启动
1、普通传参,发送get请求,添加路径和参数,点击发送请求
2、普通传参,发送post请求,添加路径和参数,点击发送请求
?3、普通传参,后端接收请求
//普通传参
@RequestMapping("/demo1")
@ResponseBody
public String demo1(String name,Integer age){
System.out.println("普通参数传递" + name + "=" + age);
Map<String,Object> map = new HashMap<String, Object>();
map.put("name","zhangshan");
return JSONObject.toJSONString(map);
}
?注意:基本数据类型建议实用包装类,不传参的情况下不会报错
传参的路径可以设置多个:@RequestMapping(value={"/demo1","/"}),"/"可以直接进行访问(但是不能有欢迎页面)
Spring传参,默认返回为xxx.jsp的网页,若不想返回网页加上注解@ResponseBody
4、前端接收数据的方式(jsp页面)
方式1:使用modelAndView
@RequestMapping("/mo")
public ModelAndView insert(){
User user = new User();
user.setName("ADMIN");
user.setAge(21);
//1.ModelAndView
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("user",user);
modelAndView.setViewName("main");
return modelAndView;
}
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<p>${user.name}</p>
<p>${user.age}</p>
</body>
</html>
?方式2:使用model
@RequestMapping("/mod")
public String detail( Integer num, String key, Model model){
User user = new User();
user.setName("asd");
user.setAge(12);
model.addAttribute("user",user);
return "main";
}
??方式3:使用map
@GetMapping("/map")
public String insert(Map<String,Object> resultMap){//Model model){
User user = new User();
user.setName("ADMIN");
user.setAge(22);
//2.Model
//model.addAttribute("user",user);
//3.map
resultMap.put("user",user);
return "main";
}
5、不同参数:请求名称与参数名不同使用@RequestParam注解
//不同参数:请求名称与参数名不同使用@RequestParam注解
@RequestMapping("/demo2")
@ResponseBody
public String demo2(@RequestParam("name") String userName, int age){
System.out.println("不同参数传递" + userName + "=" + age);
Map<String,Object> map = new HashMap<String, Object>();
map.put("name","李四");
return JSONObject.toJSONString(map);
}
@RequestParam注解,形参注解,加上注解是为必穿参数,不传参的话会报错
位置 | SpringMVC控制器方法形参定义前面 | 作用 | 绑定请求参数与处理方法形参之间的关系 | 参数 | required:是否为必传参数 defaultValue:参数默认值 |
6、实体类参数:请求参数名与实体类属性名相同,定义实体类型形参即可接收参数
//实体类参数
@RequestMapping("/demo3")
@ResponseBody
public String demo3(User user){
System.out.println("传的参数为:"+user);
Map<String,Object> map = new HashMap<String, Object>();
map.put("name","lisi");
return JSONObject.toJSONString(map);
}
7、嵌套实体类参数:请求参数名与实体类属性名相同,按照对象层次结构关系即可接收嵌套实体类属性参数
//嵌套实体类传递参数
@RequestMapping("/demo4")
@ResponseBody
public String demo4(User user){
System.out.println("传的参数为:"+user);
Map<String,Object> map = new HashMap<String, Object>();
map.put("name","lisi");
return JSONObject.toJSONString(map);
}
8、数组参数:请求参数名与形参对象属性名相同且请求参数为多个,定义数组类型形参即可接收参数
//传递数组
@RequestMapping("/demo5")
@ResponseBody
public String demo5(String[] likes){
System.out.println("传的参数为:"+Arrays.toString(likes));
Map<String,Object> map = new HashMap<String, Object>();
map.put("name","lisi");
return JSONObject.toJSONString(map);
}
9、集合保存普通参数:请求参数名与形参集合对象名相同且请求参数为多个,@RequestParam绑定参数关系
//传递集合
@RequestMapping("/demo6")
@ResponseBody
public String demo6(@RequestParam List<String> likes){
System.out.println("传的参数为:"+likes);
Map<String,Object> map = new HashMap<String, Object>();
map.put("name","lisi");
return JSONObject.toJSONString(map);
}
10、json传参
json传参springmav配置类要加配置
<mvc:annotation-driven >
<mvc:message-converters register-defaults="true">
<!-- 配置Fastjson支持 -->
<bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
<value>application/json</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
集合参数:json格式,参数:@RequestBody List<String> likes
//集合参数:json格式
@RequestMapping("/demo7")
@ResponseBody
public String demo7(@RequestBody List<String> likes){
System.out.println("传的参数为:"+likes);
Map<String,Object> map = new HashMap<String, Object>();
map.put("name","lisi");
return JSONObject.toJSONString(map);
}
?传参方式
实体类参数:json格式,参数:@RequestBody User user
//pojo参数:json格式
@RequestMapping("/demo8")
@ResponseBody
public String demo8(@RequestBody User user){
System.out.println("传的参数为:"+user);
Map<String,Object> map = new HashMap<String, Object>();
map.put("name","lisi");
return JSONObject.toJSONString(map);
}
?传参方式
?json数组:json格式,传递多个对象,参数:@RequestBody List<User>
//json数组:json格式
@RequestMapping("/demo9")
@ResponseBody
public String demo9(@RequestBody List<User> list){
System.out.println("传的参数为:"+list);
Map<String,Object> map = new HashMap<String, Object>();
map.put("name","lisi");
return JSONObject.toJSONString(map);
}
??传参方式?
11、日期类型参数传递
日期类型数据基于系统不同格式也不尽相同,2088-08-18,2088/08/18,08/18/2088,接收形参
时,根据不同的日期格式设置不同的接收方式
也可以在实体类里加注解?@DateTimeFormat(pattern = "yyyy-MM-dd")
//传递日期
@RequestMapping("/demo10")
@ResponseBody
public String demo10(Date date,
@DateTimeFormat(pattern = "yyyy-MM-dd") Date date1,
@DateTimeFormat(pattern = "yyyy/MM/dd HH:mm:ss") Date date2){
System.out.println("传的参数为:"+date);
System.out.println("传的参数为:"+date1);
System.out.println("传的参数为:"+date2);
Map<String,Object> map = new HashMap<String, Object>();
map.put("name","lisi");
return JSONObject.toJSONString(map);
}
?日期类注解:
名称 | @DateTimeFormat | 类型 | 形参注解 | 位置 | SpringMVC控制器方法形参前面 | 作用 | 设定日期时间型数据格式 | 属性 | pattern:日期时间格式字符串 |
?
|