请求
HttpServletRequest,获取请求数据
简单参数
-
原始方式:在原始的web程序中,获取请求参数,需要通过HTTpServletRequest对象手动获取

-
简单参数:参数名与形参变量名相同,定义形参即可接收参数。
如果参数不匹配,可以使用
@RequestParam完成映射.
@RequestParam中的required属性默认为true,代表必须传递 参数,否则会报错,可设置为false
public String simpleParam(@RequestParam(name="name")String username, Integer age)
实体参数
-
简单实体对象:请求参数名与形参对象属性名相同,定义POJO接受即可
User.java在POJO文件夹下

-
复杂实体对象:请求参数名与形参对象属性名相同,按照对象层次结构关系即可接收嵌套POJO属性参数。

数组集合参数
-
数组参数:请求参数名与形参数组名称相同且请求参数为多个,定义数组类型即可接收参数
@RequestMapping("/arrayParam")
public String arrayParam(String[] hobby) {
System.out.println(Arrays.toString(hobby));
return "OK";
} -
集合参数:请求参数名与形参集合名称相同请求参数为多个,
@RequestParam绑定参数关系@RequestMapping("/listParam")
public String listParam(@RequestPara List<String> hobby) {
System.out.print(hobby);
return "OK";
}
日期参数
-
日期参数:使用
@DateTimeFormat注解完成日期参数格式转换@RequestMapping("/dateParam")
public String dateParam(@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") LocalDateTime updateTime) {
System.out.println(updateTime);
return "OK";
}
Json参数
-
JSON参数:JSON数据键名与形参对象属性名相同,定义POJO类型形参即可接收参数,需要使用
@RequestBody标识@RequstMapping("/jsonParam")
public String jsonParam(@RequstBody User user)……
路径参数
-
路径参数:通过请求URL直接传递参数,使用
{}来标识该路径参数,需要使用@PathVariable获取路径参数@RequestMapping("/path/{id}/{name1}")
public String pathParam(@PathVariable Integer id, @PathVariable String name1)……
响应
HttpServletResponse,设置响应数据
@ResponseBody
- 类型:方法注解、类注解
- 位置:Controller方法上/类上
- 作用:将方法返回值直接响应,如果返回值类型是实体对象/集合,将会转换为JSON格式响应
- 说明:@RestController=@Controller+@ResponseBody;
BS架构
Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端
CS架构
Client/Server,客户端/服务器架构模式