在SpringBoot中@PathVariable与@RequestParam的区别

@PathVariable

    @GetMapping("/{userId}")
    public R<User> getUserById(@PathVariable Long userId) {
        return userService.getUserById(userId);
    }
// 根据id获取一条数据
function getStudentDataByIdAndDisplayInput(id) {
    // 发送 AJAX 请求
    $.ajax({
        url: '/dorm/student/' + id,
        type: 'GET',
        success: function (result) {
            // 处理成功的响应
            console.log(result);

            // 将获取到的学生数据回显到输入框
            displayStudentDataInInputs(result.data);
        },

使用@PathVariable注解时,参数会从请求的路径中提取。在你的URL中,路径参数通常是通过 {} 包裹的形式出现,例如 /{getUserById}/123.

postman测试:http://localhost:8080/test/user/1

@RequestParam

    // 根据姓名分页查询用户
    @GetMapping("/getUsersByName")
    public IPage<User> getUsersByName(@RequestParam(defaultValue = "1") Long current,
                                      @RequestParam(defaultValue = "2") Long size,
                                      @RequestParam(required = false) String name) {
        // 构建分页对象
        Page<User> page = new Page<>(current, size);

        // 调用服务方法进行分页查询
        return userService.getUsersByName(page, name);
    }
    var data = {
        name: name,
        studentId: studentId,
        classId: classId,
        className: className
    };

    console.log(data)

    // 发送 AJAX 请求
    $.ajax({
        url: '/dorm/student/all',
        type: 'GET',
        data: data,
        success: function (result) {
  • 使用@RequestParam注解时,参数会从请求的查询参数中提取。在你的URL中,查询参数通常是通过 ? 后面的键值对形式出现,例如 /getUserById?userId=123.
  • 在方法的参数中使用@RequestParam注解,可以通过指定参数的名字来获取请求中的参数值。

postman测试:http://localhost:8080/test/user/getUsersByName2?current=1&size=3&name=z

@RequestBody

    // 更新用户信息
    @PutMapping("/updateUser")
    public R<String> updateUser(@RequestBody User user) {
        return userService.updateUser(user);
    }

@RequestBody 是 Spring 框架中用于处理 HTTP 请求体的注解。当使用该注解时,Spring 将尝试将请求体的内容转化为指定的 Java 类型,以便在方法参数中使用。

如果是RequestBody注解接收,来这填写数据

相关推荐

  1. @RequestParam,@RequestBody和@PathVariable 区别

    2024-02-19 09:20:02       63 阅读
  2. @RequestBody@RequestParam区别

    2024-02-19 09:20:02       41 阅读
  3. @RequestParam、@PathVariable、@RequestBody

    2024-02-19 09:20:02       36 阅读
  4. @RequestBody和@RequestParam和@PathVariable和@RequestAttribute

    2024-02-19 09:20:02       52 阅读
  5. SpringBoot之@RequestParam注解

    2024-02-19 09:20:02       48 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-19 09:20:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-19 09:20:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-19 09:20:02       82 阅读
  4. Python语言-面向对象

    2024-02-19 09:20:02       91 阅读

热门阅读

  1. AutoSAR(基础入门篇)7.3-使用DEV配置SWC&RTE

    2024-02-19 09:20:02       51 阅读
  2. Rust-所有权(ownership)

    2024-02-19 09:20:02       53 阅读
  3. Rust语言之sha-256爆破

    2024-02-19 09:20:02       49 阅读
  4. go redis

    go redis

    2024-02-19 09:20:02      42 阅读
  5. android pdf框架-3,对开源库的探究1

    2024-02-19 09:20:02       45 阅读
  6. 「优选算法刷题」:寻找数组的中心下标

    2024-02-19 09:20:02       54 阅读
  7. 5G固定无线接入(FWA)

    2024-02-19 09:20:02       53 阅读
  8. 民安智库如何做汽车满意度调查

    2024-02-19 09:20:02       47 阅读
  9. 汽车零部件软件开发常用搜索算法

    2024-02-19 09:20:02       43 阅读