|
此版本仍在开发中,尚未稳定。如需最新的稳定版本,请使用 Spring Framework 7.0.6! |
@ResponseBody
您可以使用 @ResponseBody 注解在方法上,以将返回序列化到响应体中,通过一个
HttpMessageConverter。
以下示例显示了一个例子:
-
Java
-
Kotlin
@GetMapping("/accounts/{id}")
@ResponseBody
public Account handle() {
// ...
}
@GetMapping("/accounts/{id}")
@ResponseBody
fun handle(): Account {
// ...
}
@ResponseBody 在类级别也受支持,在这种情况下,它将被所有控制器方法继承。这是 @RestController 的效果,它实际上只是一个用 @Controller 和 @ResponseBody 标记的元注解。
一个 Resource 对象可以用来返回文件内容,将提供的资源的 InputStream
内容复制到响应的 OutputStream 中。请注意,为了在复制到响应后可靠地关闭
InputStream,它应该由 Resource 处理器惰性获取。如果你出于此目的使用了
InputStreamResource,请确保使用按需 InputStreamSource 构造它(例如,通过一个 lambda 表达式来获取实际的
InputStream).
您可以使用消息转换器选项来配置或自定义消息转换。
你可以结合使用@ResponseBody方法与JSON序列化视图。
有关详细信息,请参阅Jackson JSON。