###@RequestParam 想从前端接普通的get请求须要加这玩意,
这玩意后面的小括号内的参数就是设置个默认返回值而已(当然不设置也行)
@RestController
@RequestMapping("stu")
public class StudentController {
@Autowired
private StudentService studentService;
/**
* 查找
* @param pageNum
* @param pageSize
* @return
*/
@GetMapping("findAllPages")
public IPage<Student> findAllPages(@RequestParam(value = "pageNum",required = false,defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize",required = false,defaultValue = "3") Integer pageSize) {
IPage<Student> page =new Page<Student>(pageNum,pageSize);
IPage<Student> page1 = studentService.page(page);
return page1;
}
//value:参数名
//required:是否包含该参数,默认为true,表示该请求路径中必须包含该参数,如果不包含就报错。
//defaultValue:默认参数值,如果设置了该值,required=true将失效,自动为false,如果没有传该参数,就使用默认值
通俗来说就是此代码中,如果我前端访问带值,比如路径是: http://localhost:8080/employee/?psgeNum=5
那么返回的就是5
如果我前端访问不带值,例如:?psgeNum
那么返回值就是defaultValue 参设设置的1
另一个我设置的pageSize参数同理.
当然如果(value = “pageNum”,required = false,defaultValue = “1”)这段不写也是可以的
那么问题来了,前端访问例如:http://localhost:8080/employee/1509159416409686000该用什么注解呢?
代码如下:
@GetMapping("{id}")
public R<Employee> getById(@PathVariable Long id) {
log.info("正在查询员工信息" + id.toString());
Employee employee = employeeService.getById(id);
if (Objects.nonNull(employee)){
return R.success(employee);
}
当然是用@PathVariable了哈哈
那么问题又来了,前端传给我一个json数据,我怎么接?代码如下:
@PutMapping
public R<String> update(@RequestBody Category category) {
log.info(BaseContext.getCurrentId() + "正在修改分类信息");
categoryService.updateById(category);
return R.success("修改分类信息成功");
}
当然用@RequestBody了哈哈哈哈哈
特妹的看懂的还不给个赞?太过分了吧😄