@ResponseBody

您可以在方法上使用 @ResponseBody 註解,透過 HttpMessageWriter 將返回值序列化到響應體中。以下示例展示瞭如何實現:

  • Java

  • Kotlin

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

@ResponseBody 也支援在類級別使用,在這種情況下,所有控制器方法都會繼承它。這是 @RestController 的效果,@RestController 不過是一個標記了 @Controller@ResponseBody 的元註解。

@ResponseBody 支援響應式型別,這意味著您可以返回 Reactor 或 RxJava 型別,並將它們產生的非同步值渲染到響應中。有關更多詳細資訊,請參閱流式傳輸JSON 渲染

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

您可以使用WebFlux 配置中的HTTP 訊息編解碼器選項來配置或自定義訊息寫入。