Spring MVC常用注解
一、@RequestParam
1、作用
- 把请求中指定的名称参数给控制器中的形参赋值
- 如果页面标签名称和方法参数的名称不一致,可以用此注解
2、属性
- name 属性 :设置参数名称
- defaultValue 属性:设置默认值
- required 属性:设置是否为必传
/**
* @RequestParam("名称必须与页面标签或者url地址key名称一致")
* */
@RequestMapping("/show1") // 用于指定请求路径
public String show1(@RequestParam(name="msg1") String msg){
System.out.println("=====接受到用户发送数据为:"+msg+"=======");
return "success";
}
@RequestMapping("/show2")
public String show2(@RequestParam("msg1") String msg, @RequestParam("msg2") int num){
System.out.println("=====接受到用户发送数据为:"+msg+"=======");
System.out.println("=====接受到用户发送数据为:"+num+"=======");
return "success";
}
@RequestMapping("/show3")
public String show4(@RequestParam(name = "uname",defaultValue = "暂无用户") String name){
System.out.println("账号:"+name);
return "success";
}
二、@RequestBody
1、作用
- 用于获取请求体的内容,直接使用得到的是 key = value & key = value…结果的数据,并可以转换为对应参数的类型
2、属性
- required:是否必须有请求体,默认值为 true
/**
* 前后端分离
* @RequestBody可以将请求体中的JSON格式的数据自动转化成参数对应的类型
* 注意:
* 1.前端不能使用GET方式提交数据,GET方式无请求体
* {
* "eid":007,
* "ename":"詹姆斯邦德",
* "esex":"绅士"
* }
*
* * */
// @RequestBody 可以将请求体中的JSON格式的数据自动转化成Emp类型
@RequestMapping("/show4")
public String show4(@RequestBody Emp emp){
System.out.println("=========="+emp+"==========");
return "success";
}
三、@PathVaribale
1、作用
- 用于绑定 URL 中的占位符,例如:请求 URL 中 /delete/{id},这个**{id}** 就是 URL 占位符
- url 支持占位符是 spring3.0 之后加入的。是 springmvc 支持 rest 风格 URL 的一个重要标志
2、属性
- value:用于指定 URL 中占位符的名称
- required:是否必须提供占位符
3、说明
Restful是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。主要用于客户端和服务器交互类的软件,基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存机制等
Restful风格的请求是使用==“url+请求方式”==表示一次请求目的的,HTTP 协议里面四个表示操作方式的动词如下:
- GET:用于获取资源(查询)
- POST:用于新建资源(添加)
- PUT:用于更新资源(更新)
- DELETE:用于删除资源(删除)
例如:
/users/1 GET : 得到 id = 1 的 user
/users/1 DELETE: 删除 id = 1 的 user
/users/1/新名/新性 PUT: 更新 id = 1 的 user
/users/新名/新性 POST: 新增 user