一文搞定RequestParam注解传参,map 数组 文件(一)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一文搞定RequestParam注解传参,map 数组 文件(一)相关的知识,希望对你有一定的参考价值。

参考技术A 该annotation用来绑定servlet请求参数到控制器的方法参数中。包括查询数据,表单数据,以及多部分文件。

用来定义返回的媒体类型以及编码方式,如“text/plain;charset=UTF-8 ”以文本类型并以UTF-8编码返回,以下例子如无特殊说明,均以该媒体类型返回

结果

结果

http://127.0.0.1:8888/param/multiMap?name= 王&name=张&name=李

结果

结果

curl上传文件命令如下

这次使用postman来传多个文件

我相信通过上面6个例子,应该涵盖了@RequestParam各类传参类型,下篇文章我会讲下前端如何通过前端和后端交互,为了简便前端就用ajax请求。

@RequestParam 注解的使用

@RequestParam 注解的使用

前言

在SpringMvc后台进行获取数据,一般是两种。
1.request.getParameter(“参数名”)
2.用@RequestParam注解获取

后台代码示范

@RequestMapping("/")
public String Demo1(@RequestParam String lid){

    System.out.println("----"+lid);
    return null;
}

前台页面
<input type="text" name="lid" />  <!-- 这时输出为10 -->

Console输出界面

----10

 

springmvc会自动根据参数名字来注入,所以要名字一致,不然不会注入

参数名字不一致

@RequestMapping("/")
public String Demo1(@RequestParam(value="lid") String id){

    System.out.println("----"+id);
    return null;
}


前台页面

<input type="text" name="lid" />  <!-- 这时输出为10 -->

Console输出界面

----10

 

参数名字不一致的话,需要在@RequestParam后面指定参数名字,才能为后面的参数进行赋值。

设置默认值

@RequestMapping("/")
public String Demo1(@RequestParam(value="lid",defaultValue="ste") String id){

    System.out.println("----"+id);
    return null;
}

 

 

注意事项

@RequestMapping("/")
public String Demo1(@RequestParam(value="lid") int id){

    System.out.println("----"+id);
    return null;
}

 

前台页面
<input type="text" name="lid" />  <!-- 这时输出为10 -->

Console输出界面

----10

如果要@RequestParam为一个int型的数据传值,假如前端并未输入,那么将会为int型的数据赋值为null。显然,这是不允许的,直接报错。
可以通过required=false或者true来要求@RequestParam配置的前端参数是否一定要传

// required=true,则参数必须要传
@RequestMapping("/")
public String Demo1(@RequestParam(value="lid",required=true) int id){

    System.out.println("----"+id);
    return null;
}`

 

如果required为false,那么默认为参数赋值为null









以上是关于一文搞定RequestParam注解传参,map 数组 文件(一)的主要内容,如果未能解决你的问题,请参考以下文章

Spring Controller getpost传参解析

postman测试常用 5种传参类型,@RequestBody@RequestParam@PathVariable区别

@RequestParam

2021年百度Java面试真题,一文轻松搞定

@RequestParam注解参数

@PathVariable注解和@RequestParam注解的区别