<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # Spring 中的`PathVariable`注解 > 原文: [https://javatutorial.net/pathvariable-annotation-in-spring](https://javatutorial.net/pathvariable-annotation-in-spring) 就像`@RequestParam`一樣,`@PathVariable`注解用于從 HTTP request 中提取數據。 但是,它們略有不同。 區別在于`@RequestParam`從 URL 獲取參數,而`@PathVariable`只是從 URI 中提取參數。 ![java-featured-image](https://img.kancloud.cn/05/3e/053ee0bb59842d92359246c98f815e0c_780x330.jpg) ### 示例 假設您有一個支持以下 URL 的網站: ```java http://www.yourwebsite.net/employee/1 ``` 上面的 URL 中的`1`代表員工的 ID。 到目前為止,一切都很好。 現在,從您的 Spring 控制器開始,路徑看起來像(取決于您給`id`賦予的名稱): ```java /employee/{id} ``` 以上網址路徑對我們有何幫助? 好吧,由于有了`{}`語法(碰巧稱為 URI 模板),您現在可以使用`@PathVariable`將其傳遞給方法,并且您的方法以及注釋將類似于以下內容: ```java @RequestMapping(value="/employee/{id}", method=RequestMethod.GET) <Access Modifier> <Return Type> <Method Name> (@PathVariable <Type> id) { <body> } ``` 從上面的代碼片段中可以看到,現在`id`將從路徑中引用`{id}`。 讓我們嘗試一個真實的例子: ```java @Controller @SpringBootApplication public class EmployeeManager { @RequestMapping(value=" /employee/{id}") public String pathVariableDemo(Model model, @PathVariable int id) { model.addAttribute("id", id); return "demo"; } } ``` 現在,Spring 查看`id`參數,并將其與模板變量`id`進行匹配。 請記住,如果我的代碼將`id`(參數)命名為其他名稱,則將無法使用。 但是,如果您不想為參數和模板變量使用相同的名稱,則可以指定`PathVariable`注解的名稱,如下所示: ```java @Controller @SpringBootApplication public class EmployeeManager { @RequestMapping(value=" /employee/{id}") public String pathVariableDemo(Model model, @PathVariable("id") int someRandomName) { model.addAttribute("id", someRandomName); return "demo"; } } ``` 從上面的示例中可以看到,我將參數名稱更改為`someRandomName`,但我還添加了`@PathVariable("id")`,它再次指定了我們要引用的模板變量。 因此,最終您有兩個選擇: 1. 方法參數使用相同的名稱 2. 在`@PathVariable`注解中指定模板變量的名稱 ### 多個`@PathVariable`注解 如果您可以有多個`@PathVariable`,該怎么辦? 我們可以做到嗎? 我們可以! 實際上,這與添加單個`@PathVariable`非常相似。 我來給你展示。 ```java @Controller @SpringBootApplication public class EmployeeManager { @RequestMapping(value="/{company}/employee/{id}", method=RequestMethod.GET) public String pathVariableDemo(@PathVariable("company") String companyName, @PathVariable("id") int employeeId) { // handle the code return "demo"; } } ``` 從上面的代碼片段中可以看到,我們有兩個模板變量: 1. `company` 2. `id` 然后,我們提取每個模板變量,然后通過指定方法參數所引用的臨時變量將它們“分配”給方法參數。 ## `@PathVariable` vs `@RequestParam`結論 盡管`@PathVariable`和`@RequestParam`都用于從 URL 提取值,但是可以根據 URL 的設計使用它們。 通常,`@PathVariable`通常用于 RESTful Web 服務中,而`@RequestParam`用于從查詢參數中提取數據。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看