springmv中 @ResponseBody的理解

本文探讨了在SpringMVC中返回String类型数据至前端时遇到的404错误,并详细解释了如何通过添加@ResponseBody注解来正确处理数据返回,避免被误认为路径。

今天想传一个String类型的数据到前台的时候,发现浏览器的控制台报错,GET 404啥的,然后百度了一下说要加@ResponseBody这个注解才行,以前以为加这个注解主要是返回一个json格式用的,我这次返回的只是一个String类型应该不用,但是我加了这个注解后代码就没有出错了。
贴源码:

	@RequestMapping(value="checkSession.action")
	public String  checkSession(HttpSession session){
		 System.out.println(session.getAttribute("code"));
		
		 return (String) session.getAttribute("code");
	}

正确的写法:

	@RequestMapping(value="checkSession.action")
	@ResponseBody
	public String  checkSession(HttpSession session){
		 System.out.println(session.getAttribute("code"));
		
		 return (String) session.getAttribute("code");
	}
	

原因:
springmvc中的String返回类型是这样的,返回值默认是返回一个路径(如页面),如果你返回的是一个数据的话,它会以为你是一个路径,所以这个时候你就要加注解@ResponseBody,@ResponseBody符合K-V形式就给你弄成json格式。不是就原样返回字符串,使用@ResponseBody来告诉String,这个返回的值为数据而不是路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值