对于最新的稳定版本,请使用 Spring Framework 7.0.6!spring-doc.cadn.net.cn

@ResponseBody

您可以使用 @ResponseBody 注解在方法上,以将返回序列化到响应体中,通过一个 HttpMessageConverter。 以下示例显示了一个例子:spring-doc.cadn.net.cn

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

@ResponseBody 在类级别也受支持,在这种情况下,它将被所有控制器方法继承。这是 @RestController 的效果,它实际上只是一个用 @Controller@ResponseBody 标记的元注解。spring-doc.cadn.net.cn

可以为文件内容返回一个 Resource 对象,将所提供资源的 InputStream 内容复制到响应 OutputStream 中。请注意, InputStream 应由 Resource 处理程序延迟获取,以便在将其复制到响应后能够可靠地关闭它。如果你使用 InputStreamResource 实现此目的,请确保使用按需的 InputStreamSource 来构造它(例如,通过一个 lambda 表达式来获取实际的 InputStream)。spring-doc.cadn.net.cn

您可以使用 @ResponseBody 与响应式类型。 请参阅 异步请求响应式类型 以获取更多详细信息。spring-doc.cadn.net.cn

您可以使用消息转换器选项来配置或自定义消息转换。spring-doc.cadn.net.cn

你可以结合使用@ResponseBody方法与JSON序列化视图。 有关详细信息,请参阅Jackson JSONspring-doc.cadn.net.cn