记一波被@RequestParam坑了的经历

最近在写vue+springboot项目的时候经常得用到@Responsebody、@Requestbody、@RequestParam、跟无注解的情况


这个是错误用法,@RequestParam只适用于指定了某个或者多个参数的形式


    @PostMapping("add")
    public Result addUser(@RequestParam User user){
        boolean flag= userService.insert(user);
        if (flag){
            /*新增成功的时候*/
            return ResultFactory.buildResult(200,"添加成功",flag);
        }else{
            return ResultFactory.bulidFailResult("添加失败");
        }

    }

这个是@RequestParam正确用法

    /**
     * 分页查询查询全部用户*/
    @GetMapping("selectAll")
    public List selectAll(@RequestParam Integer offset, @RequestParam Integer limit) {
        List user = userService.queryAllByLimit(offset, limit);
        if (user != null) {
            return user;
        } else {
            System.out.println("无数据");
            return null;
        }
    }

@Responsebody不是作为绑定参数而使用,而是放在方法体上面,与@Controller结合等同于@RestController注解


而@RequestBody跟无注解一样适用于未指定特定参数的情况下,例如插入操作

    @PostMapping("add")
    public Result addUser(@RequestBody User user){
        boolean flag= userService.insert(user);
        if (flag){
            /*新增成功的时候*/
            return ResultFactory.buildResult(200,"添加成功",flag);
        }else{
            return ResultFactory.bulidFailResult("添加失败");
        }

    }

当不熟悉的时候便经常会出现这类低级错误。欢迎批评指正!!

你可能感兴趣的:(Springboot,java,mysql)