Post与Get以及@Requestbody和@Pathvariable标签的应用
Post的使用场景:简单来讲适用于有安全性限制的,因为post请求的内容会被存在某个封装内容中(比如表单、jason格式等),这部分内容是不会被浏览器的cache所捕捉,安全性较强。
Get的使用场景:与post对比而言,不具备安全性,所传输的信息会在url中进行展示。
@Requstbody标签:
与Post一同使用,从英文翻译来说这就是一个请求体,上文说了Post是将请求的内容封装在一个内容中,这个内容可以看作是一个Body,所以在使用Post时一般与@Requstbody标签搭配使用用于获取请求体的内容,比如:
@PostMapping
@ApiOperation("新增员工")
public Result save(@RequestBody EmployeeDTO employeeDTO){log.info("新增员工:{}",employeeDTO);employeeService.save(employeeDTO);return Result.success();
}
这里添加PostMapping指定了使用Post形式进行数据传递,而RequestBody标签会将传递的Body(在这里使用的是jason格式)自动转换为自定义实体EmployeeDTO的新建对象。这个过程实际上是将jason格式转换为自定义实体对象的过程。
@Pathvariable标签
@GetMapping("/{id}")
public Result getById(@PathVariable Long id) {// 从 URL 路径 /api/employee/100 中提取 id=100EmployeeDTO employee = employeeService.getById(id);return Result.success(employee);
}
上述代码中的标签GetMapping对应Get,Pathvariable会将定义在url中的id提取出来赋值给方法中的id从而提取出所需内容