@RequestParam(value="name1" ,required =false)
//required 开启注解后,required默认是true,必须传参数要不然报错
//value name 都可以效果一样,设置名称之后,传参直接传value或name里面的值
开启注解之后,必须传值,不管你有没有命名
当required=false的时候,可以不用传值
defaultValue = “t3" 是默认传值为"t3"
@PathVariable
需要设置一个RequestMapping 的访问路径
@RequestMapping(value={ "demo1/{name1}/{name2}/{name3}" // 配合name3选传,此种场景应用较少,一般使用此注解均为必传参数 ,"demo1/{name1}/{name2}" })@RequestMapping(value={ "demo1/{name1}/{name2}/{name3}" // 配合name3选传,此种场景应用较少,一般使用此注解均为必传参数 ,"demo1/{name1}/{name2}" }) 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"; }设置非必传需要在RequestMapping设置映射地址
在参数那里加@RequestBody
用POST
用json传数据
可以通过postman传也可以通过ajax传值
数组
非json请求
通过一个名字一样的参数
localhost:8080/demo3?ids=1&ids=2&ids=3 或 localhost:8080/demo3?ids=1,2,3
json请求 需要在传参加上@RequestBody
直接中括号阔住
[1,2,3]
要POST
集合List
非JSON请求
localhost:8080/demo4?idList=1&idList=2 或 http://localhost:8080/demo4?idList=1,2,3
后台(@RequestParam注解不可缺少)
@ResponseBody @RequestMapping("demo4") public Listdemo4(@RequestParam List idList){ System.out.println("ids:"+idList); return idList; }
json请求
对象+List同时接收
非JSON请求
name: 111 number: 111 demoCList[0].nickname: 1 demoCList[0].number: 11 demoCList[1].nickname: 222 demoCList[1].number: 22 demoCList[2].nickname: 333 demoCList[2].number: 333 demoCList[3].nickname: 444 demoCList[3].number: 44@ResponseBody @RequestMapping("demo6") public Demo demo6(Demo demo){ System.out.println("demo:"+demo); return demo; } ============================================== public class Demo { private String name; private String number; private ListdemoCList; ....省略get set方法.... }
JSON请求
{ "name":"0616", "number":"2", "demoCList":[ { "id":"2", "nickname":"1111", "number":"11111" }, { "nickname":"1111", "number":"11111" }, { "nickname":"1111", "number":"11111" } ] }@ResponseBody @RequestMapping("demo7") public Demo demo7(@RequestBody Demo demo){ System.out.println("demo:"+demo); return demo; }



