一.概述:
请求:获取请求数据
响应:设置响应数据
BS架构:游览器/服务器架构模式
CS架构:客户端/服务器架构模式
目录:请求,响应,分层解耦
二.请求:Postman
简单参数
实体参数
数组集合参数
日期参数
Json参数
路径参数
1.简单参数:参数名与形参名相同,定义形参即可接收参数
SpringBoot方式
@RestController
public class RequestController {
//springboot方式
@RequestMapping("/simpleParam")
public String simpleParam(String name,Integer age){
System.out.println(name+ ":" +age);
return "OK";
}
}
简单参数:如果方法形参名称与请求参数名称不匹配,可以使用@RequestParam完成映射
@RequestMapping("/simpleParam")
public String simpleParam(@RequestParam(name = "name") String name, Integer age){
System.out.println(name+ ":" +age);
return "OK";
}
原始方式获取请求参数
Controller方法形参中声明HttpServletRequest对象。等于对象的getParameter(参数名)
//原始方法
// @RequestMapping("/simpleParam")
// public String simpleParam(HttpServletRequest request){
// //获取请求参数
// String name = request.getParameter("name");
// String ageStr = request.getParameter("age");
//
// int age = Integer.parseInt(ageStr);
// System.out.println(name+ ":" +age);
// return "OK";
2.实体参数
实体对象参数:
规则:请求参数名与形参对象属性名相同,即可直接通过POJO接收
3. 数组集合参数
//数组集合参数
@RequestMapping("/arrayParam")
public String arrayParam(String[] hobby){
System.out.println(Arrays.toString(hobby));
return "OK";
}
集合参数:请求参数名与形参集合名称相同且请求参数为多个,@RequestParam绑定参数关系
//数组集合参数
@RequestMapping("/listParam")
public String listParam(@RequestParam List<String> hobby){
System.out.println(hobby);
return "OK";
}
4.JSON参数
JSON参数:JSON数据键名与形参属性名相同,定义POJO类型形参即可接收参数,需要使用@RequestBody标识
5.路径参数
路径参数:通过请求URL直接传递参数,使用{...}来标识该路径参数,需要使用@PathVariable获取路径参数
@RequestMapping("/path/{id}")
public String pathParam(@PathVariable Integer id){
System.out.println(id);
return "OK";
}
三.响应
类型:方法注解,类注解
位置:Controller方法上/类上
作用:将方法返回值直接响应,如果返回值类型是实体对象/集合,将会转换为JSON格式响应
说明:@RestController = @Controller + @ResponseBody
四.分层解耦
三层架构
分层解耦
IOC & DI 入门
IOC详解
DI详解
1.三层架构
controller:控制层,接收前端发送的请求,对请求进行处理,并响应数据
service:业务逻辑层,处理具体的业务逻辑
dao:数据访问层,负责数据访问操作,包括数据的增,删,改,查。
2.IOC & DI
控制反转
依赖注入