@ResponseBody
@ResponseBody
你可以在方法上使用@ResponseBody注释,以便将返回值通过HttpMessageWriter序列化到响应体中。以下示例展示了如何实现这一点:
- Java
- Kotlin
@GetMapping("/accounts/{id}")
@ResponseBody
public Account handle() {
// ...
}
@GetMapping("/accounts/{id}")
@ResponseBody
fun handle(): Account {
// ...
}
@ResponseBody 在类级别也是受支持的,在这种情况下,它会被所有控制器方法继承。这就是 @RestController 的效果,@RestController 本质上只是一个同时带有 @Controller 和 @ResponseBody 标注的元注释(meta-annotation)。
@ResponseBody 支持反应式类型(reactive types),这意味着你可以返回 Reactor 或 RxJava 类型的数据,并将这些数据产生的异步值渲染到响应中。有关更多详细信息,请参阅 Streaming 和 JSON rendering。
您可以将 @ResponseBody 方法与 JSON 序列化视图结合使用。详情请参阅 Jackson JSON。
您可以使用WebFlux Config中的HTTP message codecs选项来配置或自定义消息编写。