springMVC常用注解

目录

springMVC常用注解(一般用在后端控制器方法的入参里面,用于获取前端传递的信息)

@RequestParam注解:

@RequestBody注解

[@RequestHeader 获取请求头的值](#@RequestHeader 获取请求头的值)

[@CookieValue 获取到cookie中的值](#@CookieValue 获取到cookie中的值)

代码实例:

@PathVaribale注解

restful风格


springMVC常用注解(一般用在后端控制器方法的入参里面,用于获取前端传递的信息)

(完整版示例代码可接前几篇关于springMVC的文章,这是一个整体的演示springMVC的demo)

@RequestParam注解:

作用:把请求中的指定名称的参数传递给控制器中的形参赋值

前端请求参数name与后端方法的参数不一致,则可用@RequestParam注解,指定一下前端请求参数

其内部属性为:

  • value:请求参数中的名称,与前端传递的参数相对应
  • required:默认值是true,如果是true的话,value必须提供与前端请求参数一致的参数,如果是false则不一定要提供
  • defaultValue = "abc" 默认赋值

@RequestBody注解

作用:用于获取请求体的内容(注意:get方法不可以,必须用post方法)

@RequestHeader 获取请求头的值

@CookieValue 获取到cookie中的值

代码实例:

java 复制代码
@Controller
@RequestMapping("/dept")
public class DeptController {
​
    /**
     * RequestParam注解
     * required = false ,默认值是true,必须要传请求参数,不传就会报错
     * defaultValue = "abc" 如果没有传请求参数,使用默认值
     * @return
     */
    @RequestMapping("/save1.do")
    public String save(@RequestParam(value = "username",required = false,defaultValue = "abc") String name){
        System.out.println("姓名:"+name);
        return "suc";
    }
    /**
    @RequestBody获取请求体的内容
    */
    @RequestMapping("/save2.do")
    public String save2(@RequestBody String body){
        System.out.println("请求体内容:"+body);
        return "suc";
    }

    /**
     * RequestHeader 获取请求头的值
     * @return
     */
    @RequestMapping("/save3.do")
    public String save3(@RequestHeader(value = "Accept") String header){
        System.out.println("Accept请求头的值:"+header);
        return "suc";
    }

    /**
     * CookieValue 获取到cookie中的值
     * @return
     */
    @RequestMapping("/save4.do")
    public String save4(@CookieValue(value = "JSESSIONID") String cookie){
        System.out.println("值:"+cookie);
        return "suc";
    }
}

@PathVaribale注解

代码举例:通过path = "/emp/{id}" 获取前端传过来的参数和id然后通过@PathVariable(value = "id")赋值给Integer id

此时,前端传递的可以是localhost:8081/emp/5 此时Integer id就是5

java 复制代码
/**
 * 查询所有
 * @return
 */
@RequestMapping(path = "/emp/{id}",method = RequestMethod.GET) //这里是restful风格
public String findById(@PathVariable(value = "id") Integer id){
    System.out.println("通过id查询员工..."+id);
    return "suc";
}

这里给一个index.jsp用于前端演示

javascript 复制代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>首页</title>
</head>
<body>

<h3>演示SpringMVC常用注解</h3>
<h4>@RequestBody注解</h4>
<form method="post" action="/dept/save2.do">
    用户名:<input type="text" name="username01"/>
    密码:<input type="password" name="password"/>
    <input type="submit" name="submit" value="提交"/>
</form>
<h4>@RequestHeader注解</h4>
<form method="post" action="/dept/save3.do">
    用户名:<input type="text" name="username01"/>
    密码:<input type="password" name="password"/>
    <input type="submit" name="submit" value="提交"/>
</form>
<hr/>
<h3>演示Rrestful风格的请求路径显示</h3>
<form method="post" action="/emp">
    用户名:<input type="text" name="username01"/>
    密码:<input type="password" name="password"/>
    <input type="submit" name="submit" value="提交"/>
</form>

</body>
</html>

restful风格

相关推荐
葫芦和十三38 分钟前
图解 MongoDB 22|读写关注:持久性与一致性的档位选择
后端·mongodb·agent
葫芦和十三7 小时前
图解 MongoDB 21|选举与 failover:Primary 是怎么选出来的
后端·mongodb·agent
GetcharZp8 小时前
26k Star 开源内网穿透神器 NetBird,一分钟实现全球设备互联!
后端
考虑考虑8 小时前
Mybatis实现批量插入
java·后端·mybatis
咖啡八杯9 小时前
GoF设计模式——中介者模式
java·后端·spring·设计模式
lizhongxuan11 小时前
多Agent之间的区别
后端
青石路13 小时前
记一次多JDK版本问题的排查,一坑套一坑,差点没爬上来
java
杨充13 小时前
1.面向对象设计思想
后端
IT_陈寒14 小时前
Java的Date类又坑了我一次,改用时间戳真香
前端·人工智能·后端
systemPro14 小时前
2.6亿条设备数据,历史查询从超时到50ms,我做了什么
后端