SpringMVC(二)RequestMapping注解

在这里插入图片描述

RequestMapping注解

一、 RequestMapping注解的作用

我们可以看一下RequestMapping的源码:

@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Mapping
public @interface RequestMapping {
}

作用:用于建立请求URL和处理请求方法之间的对应关系。

二、出现位置

1. 类上

请求URL的第一级访问目录。此处不写的话,就相当于应用的根目录。写的话需要以/开头。
它出现的目的是为了使我们的 URL 可以按照模块化管理:
例如:
账户模块:
/account/add
/account/update
/account/delete
订单模块:
/order/add
/order/update
/order/delete
上面的例子中,/account/order都是写在类上,使我们的URL更加精细。

2. 方法上

请求URL的第二级访问目录。

3. 示例

Controller:

package com.veeja.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * 控制器类
 *
 * @Author veeja
 * 2020/5/16 21:42
 */
@Controller
@RequestMapping(path = "/user")
public class HelloController {

    @RequestMapping(path = "/hello")
    public String sayHello() {
        System.out.println("Hello SpringMVC");
        return "success";
    }

    /**
     * 测试RequestMapping注解
     * @return
     */
    @RequestMapping(path ="/testRequestMapping")
    public String testRequestMapping(){
        System.out.println("测试RequestMapping注解...");
        return "success";
    }
}

请求网页:

<html>
    <head>
        <title>Title</title>
    </head>
    
    <body>
    <h3>入门程序</h3>

    1.<a href="user/hello">入门程序</a>
    <br>
    2.<a href="user/testRequestMapping">RequestMapping注解</a>
    </body>

</html>

二、 RequestMapping注解的属性

属性:

  • value:用于指定请求的 URL。它和 path 属性的作用是一样的。

  • method:用于指定请求的方式。
    method是枚举类型。

    public enum RequestMethod {
        GET,
        HEAD,
        POST,
        PUT,
        PATCH,
        DELETE,
        OPTIONS,
        TRACE;
    
        private RequestMethod() {
        }
    }
    
  • params:用于指定限制请求参数的条件。它支持简单的表达式。要求请求参数的 key 和 value 必须和 配置的一模一样。
    例如:
    params = {"accountName"},表示请求参数必须有 accountName
    params = {"moeny!100"},表示请求参数中 money 不能是 100。

  • headers:用于指定限制请求消息头的条件。

注意: 以上四个属性只要出现 2 个或以上时,他们的关系是与的关系。

在这里插入图片描述

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章