【Spring Boot - 注解】@ResponseBody 注解:处理 JSON 响应
@ResponseBody
注解用于将控制器的方法返回的对象,通过适当的HttpMessageConverter转换为指定的格式后,写入到响应流中。这就是说,返回的数据不是HTML标签的形式,而是其他某种格式的数据,比如JSON,XML等。
在Spring MVC中,@ResponseBody注解的作用主要是使Controller的方法返回的数据直接写入HTTP response body中,而不是以视图的形式进行展示。
在使用@ResponseBody后,返回的数据不会被解析为视图,而是直接写入HTTP response body中。比如,我们可以这样使用:
@Controller
public class MyController {
@RequestMapping("/json")
@ResponseBody
public String json() {
return "{\"name\":\"John\", \"age\":30}";
}
}
在上述代码中,json()方法返回的字符串会直接写入HTTP响应体中,而不是作为视图名称处理。
另外,Spring MVC在默认情况下可以根据请求的Accept头来决定返回JSON或XML等不同的数据类型。
如果你想返回JSON,并且希望使用的是Jackson库,那么你可以这样使用:
@Controller
public class MyController {
@RequestMapping("/user")
@ResponseBody
public User json() {
return new User("John", 30);
}
}
在这个例子中,User对象会被自动转换为JSON格式的字符串。
注意:在使用@ResponseBody注解时,请确保你的项目中包含了相应的JSON处理库,如Jackson或Gson等。否则,@ResponseBody无法正常工作。
评论已关闭