Spring中Responsebody注解的作用[通俗易懂]

Spring中Responsebody注解的作用[通俗易懂]好长一段时间以来都只是写些测试代码,好久没写项目代码了,以至于sping那套东西日渐生疏了。最近在折腾一个小项目,写了一个controller用来响应ajax请求,结果断点调试发现一直返回"404…notresponse…",折腾了快2小时,一直没想到是注解的问题,万般无赖之下上了度娘,方才如梦初醒,特意记录一下,一来提醒一下自己,二来也让跟我遇到一样问题的朋友少受些折磨。这个注解表示…

大家好,又见面了,我是你们的朋友全栈君。

好长一段时间以来都只是写些测试代码,好久没写项目代码了,以至于spring那套东西日渐生疏了。最近在折腾一个小项目,写了一个controller用来响应ajax请求,结果断点调试发现一直返回”404 …not response…”,折腾了快2小时,一直没想到是注解的问题,万般无赖之下上了度娘,方才如梦初醒,特意记录一下,一来提醒一下自己,二来也让跟我遇到一样问题的朋友少受些折磨。

 

这个注解表示该方法的返回结果直接写入HTTP response body中,一般在异步获取数据时使用。

在使用@RequestMapping后,返回值通常解析为跳转路径。加上@responsebody后,返回结果直接写入HTTP response body中,不会被解析为跳转路径。比如异步请求,希望响应的结果是json数据,那么加上@responsebody后,就会直接返回json数据。
 

 
		@RequestMapping(value="/publish" ,produces="application/json;charset=UTF-8")
		public Object publish()throws Exception{
			Map<String,String> map = new HashMap<String,String>();
			ModelAndView mv = this.getModelAndView();
			PageData pd = new PageData();
			pd = this.getPageData();
			。。。
			map.put("result", "success");
			return AppUtil.returnObject(new PageData(), map);
		}

 

 

 

例如,在我用来响应ajax请求的上述方法中,因为没加@responsebody, responseCode一直是404。后来像下面这样加上后, responseCode就是200了,一切正常了。

 

 

 

 

 
		@RequestMapping(value="/publish" ,produces="application/json;charset=UTF-8")
                @ResponseBody
		public Object publish()throws Exception{
			Map<String,String> map = new HashMap<String,String>();
			ModelAndView mv = this.getModelAndView();
			PageData pd = new PageData();
			pd = this.getPageData();
			。。。
			map.put("result", "success");
			return AppUtil.returnObject(new PageData(), map);
		}

 

 

 

 

 

 

 

 

 
 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140645.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android获取uuid_android默认允许获取位置

    android获取uuid_android默认允许获取位置获取UUID

    2022年8月10日
  • deepin安装rabbitvcs svn[通俗易懂]

    deepin安装rabbitvcs svn[通俗易懂]https://bbs.deepin.org/post/189817

    2022年7月18日
  • 腾讯云ssl证书_腾讯云认证证书

    腾讯云ssl证书_腾讯云认证证书如今在网站使用https已经是非常普遍的事情,对于站长来说,https证书似乎已经成为了必备,今天我们为大家介绍申请腾讯云https证书的方法与过程首先打开腾讯云的管理控制台,进入证书管理页面,我们可以看到这里有一个叫做申请证书的按钮,点击它腾讯云会让你选择证书的类型,因为我们要申请免费的,选择左边的亚洲诚信免费版DVSSL证书即可,右边的为收费证书填入自己的域名以及申请邮箱,注意域名的格式为你需…

    2022年9月9日
  • eigen使用教程_kafka简单使用

    eigen使用教程_kafka简单使用Eigen是可以用来进行线性代数、矩阵、向量操作等运算的C++库,它里面包含了很多算法。它的License是MPL2。它支持多平台。Eigen采用源码的方式提供给用户使用,在使用时只需要包含Eigen的头文件即可进行使用。之所以采用这种方式,是因为Eigen采用模板方式实现,由于模板函数不支持分离编译,所以只能提供源码而不是动态库的方式供用户使用。矩阵的定义:E…

    2022年10月18日
  • jsp文件开头<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 > 有什么用

    jsp文件开头<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 > 有什么用http://www.w3.org/TR/html4/loose.dtd”> 声明位于文档中的最前面的位置,处于  标签之前。DOCTYPE是DocumentType(文档类型)的简写,此标签用来告知浏览器文档使用哪种 HTML 或 XHTML 规范。Eg:

    2022年7月14日
  • 全球vps交流网站超级vps管理器_phpyun采集

    全球vps交流网站超级vps管理器_phpyun采集今天在写《请珍惜免费资源》这篇文章的时候无意中又发现一款无限流量免费PHP空间「FreeWebHostingArea」,搜索了一下已经有14年的时间,下面老俍就来介绍一下这款免费主机的申请及使用说明。FreeWebHostingArea是美国的一个老牌的免费空间服务商,从2005年开始提供免费PHP空间服务。距今已有14年的时间,真没想到一款免费主机能活这么长时间。FreeWe…

    2022年10月8日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号