目录
一、创建工作环境
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、日期类型参数传递
//普通传参
@RequestMapping("/demo1")
@ResponseBody
public String demo1(String name,Integer age){
System.out.println("普通参数传递" + name + "=" + age);
Map map = new HashMap();
map.put("name","zhangshan");
return JSONObject.toJSONString(map);
}
注意:基本数据类型建议实用包装类,不传参的情况下不会报错
传参的路径可以设置多个:@RequestMapping(value={"/demo1","/"}),"/"可以直接进行访问(但是不能有欢迎页面)
Spring传参,默认返回为xxx.jsp的网页,若不想返回网页加上注解@ResponseBody
return"xxx"默认为转发,重定向使用:return"redirect:/xxx",可以重定向某个接口
方式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" %>
Title
${user.name}
${user.age}
方式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 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";
}
//不同参数:请求名称与参数名不同使用@RequestParam注解
@RequestMapping("/demo2")
@ResponseBody
public String demo2(@RequestParam("name") String userName, int age){
System.out.println("不同参数传递" + userName + "=" + age);
Map map = new HashMap();
map.put("name","李四");
return JSONObject.toJSONString(map);
}
@RequestParam注解,形参注解,加上注解是为必穿参数,不传参的话会报错
位置 | SpringMVC控制器方法形参定义前面 |
作用 | 绑定请求参数与处理方法形参之间的关系 |
参数 | required:是否为必传参数 defaultValue:参数默认值 |
//实体类参数
@RequestMapping("/demo3")
@ResponseBody
public String demo3(User user){
System.out.println("传的参数为:"+user);
Map map = new HashMap();
map.put("name","lisi");
return JSONObject.toJSONString(map);
}
//嵌套实体类传递参数
@RequestMapping("/demo4")
@ResponseBody
public String demo4(User user){
System.out.println("传的参数为:"+user);
Map map = new HashMap();
map.put("name","lisi");
return JSONObject.toJSONString(map);
}
//传递数组
@RequestMapping("/demo5")
@ResponseBody
public String demo5(String[] likes){
System.out.println("传的参数为:"+Arrays.toString(likes));
Map map = new HashMap();
map.put("name","lisi");
return JSONObject.toJSONString(map);
}
//传递集合
@RequestMapping("/demo6")
@ResponseBody
public String demo6(@RequestParam List likes){
System.out.println("传的参数为:"+likes);
Map map = new HashMap();
map.put("name","lisi");
return JSONObject.toJSONString(map);
}
json传参springmav配置类要加配置
text/html;charset=UTF-8
application/json
集合参数:json格式,参数:@RequestBody List
//集合参数:json格式
@RequestMapping("/demo7")
@ResponseBody
public String demo7(@RequestBody List likes){
System.out.println("传的参数为:"+likes);
Map map = new HashMap();
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 map = new HashMap();
map.put("name","lisi");
return JSONObject.toJSONString(map);
}
传参方式
json数组:json格式,传递多个对象,参数:@RequestBody List
//json数组:json格式
@RequestMapping("/demo9")
@ResponseBody
public String demo9(@RequestBody List list){
System.out.println("传的参数为:"+list);
Map map = new HashMap();
map.put("name","lisi");
return JSONObject.toJSONString(map);
}
传参方式
日期类型数据基于系统不同格式也不尽相同,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 map = new HashMap();
map.put("name","lisi");
return JSONObject.toJSONString(map);
}
日期类注解:
名称 | @DateTimeFormat |
类型 | 形参注解 |
位置 | SpringMVC控制器方法形参前面 |
作用 | 设定日期时间型数据格式 |
属性 | pattern:日期时间格式字符串 |