<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 中的`RequestBody`注解 > 原文: [https://javatutorial.net/requestbody-annotation-in-spring](https://javatutorial.net/requestbody-annotation-in-spring) `@RequestBody`注解可用于處理 Web 請求。 ![java-featured-image](https://img.kancloud.cn/05/3e/053ee0bb59842d92359246c98f815e0c_780x330.jpg) 更具體地說,它用于將方法參數與請求的主體綁定,其工作方式是`HttpMessageConverter`根據請求內容的類型轉換請求的主體。 ### 語法 ```java <modifier> <return-type> <method-name> (@RequestBody <type> <name>) { } ``` 以上語法的示例: ```java public String congratulateEmployee(@RequestBody Employee emp) { } ``` 包含上述方法的完整`Controller`類: ```java @RestController public class CongratulationsController { @PostMapping("/congratulations") public Manager assignToManager(@RequestBody Employee emp) { String name = emp.getName(); int yearsWorked = emp.getYearsWorked(); String message = "Congratulations, " + name + "! You have been working here for " + yearsWorked + "."; Manager manager = new Manager(); manager.setEmployee(emp.getName()); // now this employee has been assigned to this manager return manager; } } ``` 我們的`Employee`類如下所示: ```java public class Employee { private String name; private int yearsWorked; public String getName() { return name; } public int getYearsWorked() { return yearsWorked; } } ``` 我們的`Manager`類如下所示: ```java public class Manager { private String employee; public void setEmployee(String name) { employee = name; } public String getEmployee() { return employee; } } ``` ### 分解 就像我上面說的,我們收到的 JSON 格式反序列化為 Java 類型。 當我們說`@RequestBody Employee emp`時,我們將`Employee`類型的方法參數與 Web 請求的主體綁定在一起。`RequestBody`到達如下: ```java { "name": "John Doe", "yearsWorked": "3" } ``` 再次感謝`HttpMessageConverter`方法,我們可以將該`RequestBody` JSON 響應轉換為`Employee`對象,該對象包含公共方法`getName()`和`getYearsWorked()`。 這就是為什么我們可以在`RequestBody`參數上調用這些方法的原因: ```java String?name?=?emp.getName();? int?yearsWorked?=?emp.getYearsWorked(); ``` 作為該方法的結果,我們返回了類型為`Manager`的數據,由于`HttpMessageConverter`,我們已將返回類型轉換為以下響應格式: ```java { "employee": "the name of the employee that was contained in the @RequestBody" } ``` 附帶一提,`RequestBody`注釋與`RestController`注釋一樣,主要用于 REST API。
                  <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>

                              哎呀哎呀视频在线观看