Spring参数的问题
参数接受
@GetMapping
@GetMapping("/emps")
//当为get请求的时候,如果参数少,那么直接对应的写出来就行,如果参数对,封到对象里面,直接对象去取就行
public Result page(EmpQueryParam empQueryParam){
PageResult<Emp> result = empService.page1(empQueryParam);
return Result.success(result);
}
//这种写法就是单一的,一个个来,如果要加默认值,那么就加@RequestParam
@GetMapping("/emps")
public Result page(@RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "10")Integer size) {
PageResult<Emp> result = empService.page(page, size);
return Result.success(result);
}
注意,这里记得点。
在mapper中,去取值,记得加@Param和对应的名称,否则取不到数据
@Select("select e.*,d.name deptName from emp e left Join dept d on e.dept_id = d.id limit #{page},#{size}")
public List<Emp> list(@Param("page") Integer page, @Param("size") Integer size );
@DeleteMapping
一般删除的时候用,那么就传id值过来就可以。
@DeleteMapping("/depts_del")
public Result delId(Integer id) {
deptService.delId(id);
Result result = Result.success();
return result;
}
@PostMapping
这个post很多的时候都用这个。我就举例传入对象。注意:@RequestBody
@PostMapping("/depts_add")
public Result add(@RequestBody Dept dept) {
System.out.println(dept);
dept.setCreateTime(LocalDateTime.now());
dept.setUpdateTime(LocalDateTime.now());
deptService.addDept(dept);
return Result.success();
}
@PutMapping
一般修改的时候,就用这个最好。 注意:@RequestBody
@PutMapping("/depts_update")
public Result update(@RequestBody Dept dept) {
dept.setUpdateTime(LocalDateTime.now());
deptService.updateDeptNameById(dept);
Result result = Result.success();
return result;
}
到此,数据都收到了Controller里面了,下一步想怎么操作就怎么操作咯!