springMVC的注解@RequestParam与@RequestBody
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springMVC的注解@RequestParam与@RequestBody相关的知识,希望对你有一定的参考价值。
参考技术A 简介官方解释:
BeanUtils#isSimpleProperty的源码如下:
结论:在使用springMVC的时候,参数的类型为BeanUtils#isSimpleProperty认定为简单类型的,且不由任何其他参数解析器解析,都可以省略@RequestParam,示例1如下:
官方解释:
示例如下
官方解释:
示例如下:
官方解释:
示例如下:
示例如下:
测试1,使用postman 构造一个表单请求如下:
测试2,使用 @RequestParam 可以同时接收url路径以及请求body中的参数
示例如下:
测试:
简介:
官方解释:
注意:如果要与使用@Validated需要引入 hibernate-validator 或者 validation-api
示例如下:
@RequestParam 注解的使用——Spring系列知识学习笔记
一. 前言
在SpringMVC后台进行获取数据,一般是两种。
- request.getParameter(“参数名”)
- 用@RequestParam注解获取
下面讲解用法。
二. 参数名一致
springmvc会自动根据参数名字来注入,所以要名字一致,不然不会注入
/**
* 后台代码
*/
@RequestMapping("/")
public String Demo1(@RequestParam String lid){
System.out.println("值为:"+lid);
return null;
}
/**
* 前台页面
*/
<input type="text" name="lid" /> <!-- 这时输出为10 -->
/**
* 输出界面
*/
值为:10
三. 参数名字不一致
参数名字不一致的话,需要在@RequestParam后面指定参数名字,才能为后面的参数进行赋值。
/**
* 后台代码
*/
@RequestMapping("/")
public String Demo1(@RequestParam(name="lid") String id){
System.out.println("值为:"+id);
return null;
}
/**
* 前台页面
*/
<input type="text" name="lid" /> <!-- 这时输出为10 -->
/**
* 输出界面
*/
值为:10
四. 设置默认值
/**
* 后台代码
*/
@RequestMapping("/")
public String Demo1(@RequestParam(name="lid",defaultValue="ste") String id){
System.out.println("值为:"+id);
return null;
}
/**
* 无前台页面
*/
/**
* 输出界面
*/
值为:ste
五. 注意事项
如果要@RequestParam为一个int型的数据传值,假如前端并未输入,那么将会为int型的数据赋值为null。显然,这是不允许的,直接报错:
/**
* 后台代码
*/
@RequestMapping("/")
public String Demo1(@RequestParam(name="lid") int id){
System.out.println("值为:"+id);
return null;
}
/**
* 前台页面
*/
<input type="text" name="lid" /> <!-- 这时输出为10 -->
/**
* 输出界面
*/
值为:10
可以通过required=false或者true来要求@RequestParam配置的前端参数是否一定要传。如:
// required=true,则参数必须要传
@RequestMapping("/")
public String Demo1(@RequestParam(name="lid",required=true) int id){
System.out.println("值为:"+lid);
return null;
}`
如果required为false,那么默认为参数赋值为null
以上是关于springMVC的注解@RequestParam与@RequestBody的主要内容,如果未能解决你的问题,请参考以下文章
springMVC的注解@RequestParam与@RequestBody
SpringMVC 基于注解的Controller @RequestMapping @RequestParam