@ResponseBody

您可以在方法上使用 @ResponseBody 註解,以透過 HttpMessageWriter 將傳回值序列化到回應本文。以下範例示範如何執行此操作

  • Java

  • Kotlin

@GetMapping("/accounts/{id}")
@ResponseBody
public Account handle() {
	// ...
}
@GetMapping("/accounts/{id}")
@ResponseBody
fun handle(): Account {
	// ...
}

@ResponseBody 也支援在類別層級使用,在這種情況下,它會由所有控制器方法繼承。這是 @RestController 的效果,它只是一個標記有 @Controller@ResponseBody 的 meta-annotation。

@ResponseBody 支援反應式類型,這表示您可以傳回 Reactor 或 RxJava 類型,並將它們產生的非同步值呈現到回應中。如需更多詳細資訊,請參閱串流JSON 呈現

您可以將 @ResponseBody 方法與 JSON 序列化檢視結合使用。請參閱 Jackson JSON 以取得詳細資訊。

您可以使用 HTTP 訊息編解碼器 選項的 WebFlux 設定 來設定或自訂訊息寫入。