Spring MVC参数传递(重点)

导读:本篇文章讲解 Spring MVC参数传递(重点),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

目录

一、@RequestParam

二、@PathVariable

三、JSON请求

 四、数组的JSON

 五、JSON请求=>content-type:application/json

源码地址


一、@RequestParam

1.定义的值必须传

2.required = false 非必传参数

可以使前台名字与后台不一致

Spring MVC参数传递(重点)

 @RequestMapping(“demo”) public String demo(Model model

// 走默认装配规则,参数名称和名字一致,选传 ,

String name

// 参数名称和名字默认一直,必传参数,不传报错 ,

@RequestParam String name0

// 通过value属性定义名称,必传参数,不传报错 ,

@RequestParam(value = “name1”) String name1

// 通过name属性定义,非必传参数 ,

@RequestParam(name = “name2”,) String name2 required = false

// 通过value属性定义,必传参数,有默认值,可以不传自动赋值 ,

@RequestParam(value = “name3”,defaultValue = “t3”) String name3

// 自定义参数名字,不必加name或者value属性,必传 ,

@RequestParam(“name444”) String name4 ){ System.out.println(“name:”+name); System.out.println(“name0:”+name0); System.out.println(“name1:”+name1); System.out.println(“name2:”+name2); System.out.println(“name3:”+name3); System.out.println(“name4:”+name4); return “hello”; }

二、@PathVariable

@RequestMapping(value={
            "demo1/{name1}/{name2}/{name3}"
            // 配合name3选传,此种场景应用较少,一般使用此注解均为必传参数
            ,"demo1/{name1}/{name2}"
    })
    @ResponseBody
    public String demo1(Model model
                        //注意,没加注解,使用问号后追加参数请求
            , String name
                        // 必传
            , @PathVariable String name1
                        // 必传
            , @PathVariable("name2") String name2
                        // 选传
            , @PathVariable(value = "name3",required = false) String name3
    ){
        System.out.println("name:"+name);
        System.out.println("name1:"+name1);
        System.out.println("name2:"+name2);
        System.out.println("name3:"+name3);
        return "hello";
    }


http://localhost:8080/demo1/1/2/3?name=666

/demo1/t1/t2?name=t0

/demo1/t1/t2/t3

/demo1/t1 ===> 404地址找不到

Spring MVC参数传递(重点)

 

三、JSON请求

    @ResponseBody
    @PostMapping("demo22") // 只允许使用post方式
//    @GetMapping
//    @RequestMapping(
//            method = {RequestMethod.POST},value = "demo22"
//    )
    public Demo demo22(@RequestBody Demo demo){
        System.out.println("demo:"+demo);
        return demo;
    }

Spring MVC参数传递(重点)

 Spring MVC参数传递(重点)

 四、数组的JSON

@ResponseBody
@RequestMapping("demo33")
public Long[] demo33(@RequestBody Long[] ids){
    System.out.println("ids:"+ids.length);
    return ids;
}

Spring MVC参数传递(重点)

 五、JSON请求=>content-type:application/json

    @ResponseBody
    @RequestMapping("demo7")
    public Demo demo7(@RequestBody Demo demo){
        System.out.println("demo:"+demo);
        return demo;
    }

 

Spring MVC参数传递(重点)

源码地址

地址:demo_2021: 基于spring boot 框架搭建案例 – Gitee.com

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/80129.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!