@responseBody注解的使用

Posted mengtaoadmin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@responseBody注解的使用相关的知识,希望对你有一定的参考价值。

以下是自己经过查询各种文档得出的结论,如有不对请指正。

@responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据,需要注意的呢,在使用此注解之后不会再走试图处理器,而是直接将数据写入到输入流中,他的效果等同于通过response对象输出指定格式的数据。举个栗子:

@RequestMapping(path = "/hello", method = RequestMethod.POST)
@ResponseBody
public String helloWorld()
return "Hello Simon"

上面的代码结果是文本 Hello Simon将被写入HTTP的响应流中。

效果等同于如下代码:

 @RequestMapping("/hello")
public void helloWorld(HttpServletResponse response)
response.getWriter.write("Hello Simon");

注:Spring MVC的 @ResponseBody方法是有风险的,因为它会根据客户的请求-包括URL的路径后缀,来渲染不同的内容类型。因此,禁用后缀模式匹配或者禁用仅为内容协商开启的路径文件后缀名携带,都是防范RFD攻击的有效方式。

技术图片

以上是关于@responseBody注解的使用的主要内容,如果未能解决你的问题,请参考以下文章

Restful接口调用统一异常处理

如何使用 @ResponseBody 从 Spring Controller 返回 JSON 数据

@ResponseBody注解

@ResponseBody注解的使用

@ResponseBody注解与JSON

@responseBody注解的使用