@ResponseBody

您可以在方法上使用 @ResponseBody 注解,以使返回值通过 HttpMessageWriter 序列化到响应主体。以下示例演示了如何执行此操作

  • Java

  • Kotlin

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

@ResponseBody 也支持在类级别使用,在这种情况下,它会被所有控制器方法继承。这是 @RestController 的效果,它只不过是一个用 @Controller@ResponseBody 标记的元注解。

@ResponseBody 支持响应式类型,这意味着您可以返回 Reactor 或 RxJava 类型,并将其生成的异步值呈现到响应中。有关更多详细信息,请参阅 流式传输JSON 渲染

您可以将 @ResponseBody 方法与 JSON 序列化视图结合使用。有关详细信息,请参阅 Jackson JSON

您可以使用 HTTP 消息编解码器 选项的 WebFlux 配置 来配置或自定义消息写入。