1、路径传参
前端传一个参数:123

后端接收一个参数:123
    // /{}是必须写的,id是自定义的
    // @PathVariable 这个注解也是必须写的,否则接不到参数
    @GetMapping("/{id}")
	//使用什么类型去接收id的值,要看你后端需要什么类型
    public void t1(@PathVariable String id) {
        log.info(id);
    }前端传多个参数:123&456

后端接收多个参数:123&456
和接收一个参数一样,只是有几个参数@PathVariable注解就要写几个
    // /{}是必须写的,id是自定义的
    // @PathVariable 这个注解也是必须写的,否则接不到参数
    @GetMapping("/{id}/{num}")
	//使用什么类型去接收id的值,要看你后端需要什么类型
    public void t1(@PathVariable String id,@PathVariable String num) {
        log.info(id + num);
    }2、普通传参
前端传参

后端接收
    //首先要明确一点,前端访问的后端路径中 ?问号后边的都是参数
    //@RequestParam 这个注解可以加,也可以不加
    //当需要这个注解底层的一些功能时,需要加,否则,可以不加,不会出错
    //value 这个可以改变前端传递参数的名字,"id" 他和前端的参数名一样即可,String id 这个id可以随便改名
    //如果不加@RequestParam 前端传参时,name可以不传,不会报错
    //但是加上@RequestParam 前端就必须传name的值,否则就i会出错
    //required = false 加上他,就表示前端传参时,name可以不传,不会报错
    @GetMapping("/testParam")
    public void t2(@RequestParam(value = "id") String id,@RequestParam(required = false) String name) {
        log.info(id + name);
    }3、post传参
第一种情况:前端用application/json,也就是json格式传参

后端接收
    //如果前端是以json格式传递参数
    //那么在接收请求的时候,需要加上@RequestBody注解,值才能成功传递到后端
    //如果不加就是null对象,因为item也会被初始化
    //item是一个封装的实体类,建议在接收post请求时根据前端传递的json内容封装成实体类接收
    @PostMapping("/testParam")
    public void t3(@RequestBody Item item) {
        log.info(item.getId()+item.getName());
    }第二种情况:前端使用form-data格式,也就是表单格式传参

后端接收
    //如果前端使用form-data的格式传参,不可以写@RequestBody注解,否则会报错
    //item是一个封装的实体类,建议在接收post请求时根据前端传递的json内容封装成实体类接收
    @PostMapping("/testParam")
    public void t4(Item item) {
        log.info(item.getId()+item.getName());
    }4、集合&数组
前端传递的参数

后端可以有三种接收方式
第一种:使用list集合接收
    //接收前端以逗号分隔的多个参数,使用集合必须加上@RequestParam
    @PostMapping("/testParam")
    public void t5(@RequestParam List<Long> ids) {
        log.info("ids",ids);
    }第二种:使用数组接收
    //使用数组,加不加@RequestParam注解,都可以
    @PostMapping("/testParam")
    public void t6(Integer[] ids) {
        log.info("ids",ids);
    }第三种:使用可变参数接收
    //使用可变参数,接收到的也是数组类型,也可以不加@RequestParam注解
    @PostMapping("/testParam")
    public void t6(Integer ...ids) {
        log.info("ids",ids);
    }


















