跳到主要内容
版本:7.0.3

@ResponseBody

Hunyuan 7b 中英对照 @ResponseBody @ResponseBody

你可以在方法上使用 @ResponseBody 注解,以便将方法的返回值通过 HttpMessageConverter 序列化到响应体中。以下示例展示了如何实现:

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

@ResponseBody 也支持在类级别使用,在这种情况下,所有控制器方法都会继承该注解。这就是 @RestController 的作用效果,@RestController 本质上就是带有 @Controller@ResponseBody 注解的元注释(meta-annotation)。

对于文件内容,可以返回一个Resource对象,将该资源提供的InputStream内容复制到响应的OutputStream中。需要注意的是,InputStream应该由Resource处理程序延迟获取(lazily retrieved),以便在内容被复制到响应后能够可靠地关闭它。如果您为此目的使用InputStreamResource,请确保使用按需(on-demand)的InputStreamSource来构造它(例如,通过一个lambda表达式来获取实际的InputStream)。

你可以将 @ResponseBody 与反应式类型(reactive types)一起使用。有关更多详细信息,请参阅 异步请求反应式类型

您可以使用MVC配置中的消息转换器选项来配置或自定义消息转换。

你可以将@ResponseBody方法与JSON序列化视图结合使用。详情请参阅Jackson JSON