1.@PathVariable
当从前端传输的URL是 http://路径/参数
的时候要使用@PathVariable注解接收参数
代码样式
@GetMapping("groups/{cid}")
public ResponseEntity<List<SpecGroup>> queryGroupsByCid(@PathVariable("cid")Long cid){
List<SpecGroup> groups=this.specificationService.queryGroupsByCid(cid);
if (CollectionUtils.isEmpty(groups)){
return ResponseEntity.notFound().build();
}
return ResponseEntity.ok(groups);
}
@RequestParam
当从前端传输的URL是http://路径/映射地址?参数=&参数=&
的样式
使用@RequestParam注解
代码如下
@GetMapping("page")
public ResponseEntity<PageResult<Brand>> queryBrandsByPage(
@RequestParam(value = "key", required = false)String key,
@RequestParam(value = "page", defaultValue = "1")Integer page,
@RequestParam(value = "rows", defaultValue = "5")Integer rows,
@RequestParam(value = "sortBy", required = false)String sortBy,
@RequestParam(value = "desc", required = false)Boolean desc
){
PageResult<Brand> pageResult=this.brandService.queryBrandsByPage(key,page,rows,sortBy,desc);
if (CollectionUtils.isEmpty(pageResult.getItems())){
return ResponseEntity.notFound().build();
}
return ResponseEntity.ok(pageResult);
}`
3.@RequestBody
当从前端传输的数据是一组json字符串是要使用@RequestBody
代码如下
@PostMapping("group")
public ResponseEntity<Void> addGroupsByCid(@RequestBody SpecGroup specGroup){
//进行cid校验
if (Objects.isNull(specGroup.getCid())){
return ResponseEntity.badRequest().build();
}
this.specificationService.addGroupsByCid(specGroup);
return ResponseEntity.ok(null);
}