Spring 的 RequestBody 和 ResponseBody 註解

介紹

在這篇文章中,我們將瞭解 Spring @RequestBody 和 @ResponseBody註釋。

@RequestBody

簡單地說,@RequestBody 註解將 HttpRequest 主體映射到一個傳輸或域對象,從而將入站的 HttpRequest 主體自動反序列化到一個 Java 對象上。

首先,讓我們看一下 Spring Controller 中的方法:

Spring 的 RequestBody 和 ResponseBody 註解

假設我們指定了適當的類型,Spring 會自動將 JSON 反序列化為 Java 類型。 默認情況下,我們使用 @RequestBody 註解進行註釋的類型必須與從客戶 Controller 發送的 JSON 相對應:

Spring 的 RequestBody 和 ResponseBody 註解

這裡,我們將 HttpRequest 主體的對象映射到我們的 LoginForm 對象。

讓我們用 CURL 測試一下:

Spring 的 RequestBody 和 ResponseBody 註解

@ResponseBody

@ResponseBody 註解告訴 Controller,返回的對象被自動序列化成 JSON 並傳遞迴 HttpResponse 對象。

假設我們有一個自定義的 Response 對象:

Spring 的 RequestBody 和 ResponseBody 註解

接著我們關聯 Controller:

Spring 的 RequestBody 和 ResponseBody 註解

在瀏覽器的開發者工具或使用像 Postman 這樣的工具,我們可以看到以下響應:

Spring 的 RequestBody 和 ResponseBody 註解

記住,我們不需要使用 @ResponseBody 註解來註釋 @RestController-annotated 控制器,因為它在這裡是默認使用的。

總結

在本教程中,我們演示瞭如何使用 @RestController 和 @ResponseBody 註解。


分享到:


相關文章: