zoukankan      html  css  js  c++  java
  • 在什么情况下使用@ResponseBody 注解?

     1 @Controller
     2 @RequestMapping("/")
     3 public class HelloController {
     4    @RequestMapping(value = "/helloWorld", method = RequestMethod.GET)
     5    @ResponseBody
     6    public String helloWorld()  {
     7       return"Hello World";
     8    }
     9  }
    10 
    11 运行以上代码,在浏览器地址栏输入: http://localhost:8080/helloWorld
    12 运行结果,页面上输出 Hello World

    如果不加@responseBody注解,运行结果会怎样?
    结果表明:如果在一个方法上使用了@RequestMapping注解,这时候,方法的返回值通常解析为跳转的路径, 也就是说,要跳转到指定的jsp页面。在这个代码实例中,要跳转到的是 Hello World.jsp 页面。 因为工程中尚未添加这个jsp文件,所以报出了 404 错误 (The requested resource is not available)。 
    如果添加了 @ResponseBody 这个注解, 则表明该方法的返回值直接写入到 HTTP Response Body 中。  这就是说,如果返回的是JSON, 就得必须添加 @ResponseBody 这个注解
    一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@responsebody后,会直接返回json数据。


  • 相关阅读:
    Spring boot mybatis : Error creating bean with name 'com.github.pagehelper.autoconfigure.MapperAutoConfiguration': Invocation of init method failed;
    方法调用
    初识MQ
    Shell 变量
    Eclipse 导入本地 Git 项目
    IDEA 常用快捷键
    Xshell 配色方案
    冒泡排序
    递归
    安卓服务Service详解
  • 原文地址:https://www.cnblogs.com/lfyu/p/8258169.html
Copyright © 2011-2022 走看看