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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • cnn lstm pytorch_pytorch怎么用

    cnn lstm pytorch_pytorch怎么用LSTM模型结构1、LSTM模型结构2、LSTM网络3、LSTM的输入结构4、Pytorch中的LSTM4.1、pytorch中定义的LSTM模型4.2、喂给LSTM的数据格式4.3、LSTM的output格式5、LSTM和其他网络组合1、LSTM模型结构BP网络和CNN网络没有时间维,和传统的机器学习算法理解起来相差无几,CNN在处理彩色图像的3通道时,也可以理解为叠加多层,图形的三维矩阵当做空间的切片即可理解,写代码的时候照着图形一层层叠加即可。如下图是一个普通的BP网络和CNN网络。图中的隐

    2025年10月25日
    2
  • (CVE-2014-0160) OpenSSL 心脏滴血漏洞

    (CVE-2014-0160) OpenSSL 心脏滴血漏洞Heartbleed心脏出血(英语:Heartbleed),也简称为心血漏洞,是一个出现在加密程序库OpenSSL的安全漏洞,该程序库广泛用于实现互联网的传输层安全(TLS)协议。它于2012年被引入了软件中,2014年4月首次向公众披露。只要使用的是存在缺陷的OpenSSL实例,无论是服务器还是客户端,都可能因此而受到攻击。此问题的原因是在实现TLS的心跳扩展时没有对输入进行适当验证(缺少边界检查),因此漏洞的名称来源于“心跳”(heartbeat)。该程序错误属于缓冲区过滤,即可以读取的数据比应该允

    2022年7月17日
    18
  • document.all(“”)的使用

    document.all(“”)的使用document.all(name)         document.all(“”)的使用                                   varone=document.all(“one”);          alert(one.length);//单个元素时,不

    2022年7月12日
    15
  • python urlopen 乱码[通俗易懂]

    1234567importurllib2importsys content=urllib2.urlopen(‘http://xxx.com’).read()#thewebpageisencodedbyuft-8 type=sys.getfilesystemencodin

    2022年4月16日
    52
  • wince屏保时钟_下载机械时钟动态壁纸

    wince屏保时钟_下载机械时钟动态壁纸今天我们为大家分享一下最近某音非常火的电子时钟屏保,让你的电脑屏保动起来,而且随着时间流逝而变化(作为一个时间观念强的人,一定会看着屏保更加惜时如金),让你的电脑锁屏与众不同,瞬间黑科技感十足!今天的主角就是WordClock,Windows系统和Mac都有的!适用系统:Windows系统、Mac系统演示电脑:联想ThinkPadT440Windows10系统软件名称:W…

    2022年9月29日
    4
  • Dll注入的问题

    Dll注入的问题学习游戏辅助,根据郁金香的教学视频写了Dll注入的代码,针对热血江湖进行Dll注入,失败(通过360任务管理器查看到Dll并未注入到游戏进程中)。但Dll中的SetWindowsHookEx返回值不为空,说明Hook成功?但是为啥没有注入成功呢?已经在游戏进程敲击键盘了【通过键盘钩子来实现Hook的】分析原因,先是反复检查代码,并未发现问题。后面想起来,是否因为是Dll是32位,而游戏是64位?查…

    2022年5月17日
    69

发表回复

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

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