参数接收
简单参数接收
方案一:通过原始的
HttpServletRequest
对象获取请求参数/** * 根据ID删除部门 - 简单参数接收: 方式一 (HttpServletRequest) */ @DeleteMapping("/depts") public Result delete(HttpServletRequest request){ String idStr = request.getParameter("id"); int id = Integer.parseInt(idStr); System.out.println("根据ID删除部门: " + id); return Result.success(); }
方案二:通过Spring提供的
@RequestParam
注解,将请求参数绑定给方法形参@DeleteMapping("/depts") public Result delete(@RequestParam("id") Integer deptId){ System.out.println("根据ID删除部门: " + deptId); return Result.success(); }
@RequestParam
注解的value属性,需要与前端传递的参数名保持一致 。@RequestParam注解required属性默认为true,代表该参数必须传递,如果不传递将报错。 如果参数可选,可以将属性设置为false。
方案三:如果请求参数名与形参变量名相同,直接定义方法形参即可接收。(省略@RequestParam)
@DeleteMapping("/depts") public Result delete(Integer id){ System.out.println("根据ID删除部门: " + deptId); return Result.success(); }
json参数接收
- JSON格式的参数,通常会使用一个实体对象进行接收 。
- 规则:JSON数据的键名与方法形参对象的属性名相同,并需要使用
@RequestBody
注解标识。json格式的请求参数适用场景:主要在POST、PUT请求中, 在请求体传递请求参数
路径参数接收
/depts/1
,/depts/2
这种在url中传递的参数,我们称之为路径参数。 那么如何接收这样的路径参数呢 ?
- 路径参数:通过请求URL直接传递参数,使用{…}来标识该路径参数,需要使用
@PathVariable
获取路径参数。如下所示:如果路径参数名与controller方法形参名称一致,
@PathVariable
注解的value属性是可以省略的。