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 個或以上時,他們的關係是與的關係。

在這裏插入圖片描述

在這裏插入圖片描述

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