@RequestParam()

获取路径后面的?参数,如http://localhost:80?id=1
public Result getById(@RequestParam("id") Long id)
获取的id就为1,如果单独一个参数,可不写指定名称 getById(@RequestParam Long id)

@RequestBody()

如果前端发送了一个请求过来,并且请求体数据为json格式的,则使用@RequestBody()接收

比如如果前端发送一个JSON格式的对象的参数
2025-08-14T06:08:39.png
那么使用
(@RequestBody Map<String,Long> jsobj)
接收,并且后续取值使用 Long id=jsobj.get("id");获取id

当请求体不是对象格式,而纯值格式的 JSON

(如 123,而非 {"id":123}),后端可以直接用 @RequestBody Long id

public Result setDefault(@RequestBody Long id) {
    addressBookService.setDefault(id);
    return Result.success();
}

也可以自定义一个类,来接收请求体中多个参数,会自动将请求体中带有的参数赋值给这个类,这个类使用@Data注解以后可以设置值,获取值

2025-08-14T06:12:54.png
2025-08-14T06:14:29.png
就不多指出来了,到时候对应参数名称赋值,没有值这个类也当然没有,可以后续自己设置setxxx()