@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配置来配置或自定义消息写入。