@ResponseBody 详解

转自       https://blog.csdn.net/sunroyfcb/article/details/81048675 侵删html

@ResponseBody这个注解一般使用在控制层(controller)的方法上,其做用是将方法的返回值以特定的格式写入到response的body区域,进而将数据返回给客户端。当方法上面没有写ResponseBody,底层会将方法的返回值封装为ModelAndView对象。json

       假如是字符串则直接将字符串写到客户端,假如是一个对象,此时会将对象转化为json串而后写到客户端。这里须要注意的是,若是返回对象,按utf-8编码。若是返回String,默认按iso8859-1编码,页面可能出现乱码。所以在注解中咱们能够手动修改编码格式,例如@RequestMapping(value="/cat/query",produces="text/html;charset=utf-8"),前面是请求的路径,后面是编码格式。app

       那么,控制层方法的返回值是如何转化为json格式的字符串的呢?实际上是经过HttpMessageConverter中的方法实现的,由于它是一个接口,所以由其实现类完成转换。若是是bean对象,会调用对象的getXXX()方法获取属性值而且以键值对的形式进行封装,进而转化为json串。若是是map集合,采用get(key)方式获取value值,而后进行封装。
————————————————
版权声明:本文为CSDN博主「sunroyfcb」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处连接及本声明。
原文连接:https://blog.csdn.net/sunroyfcb/article/details/81048675编码

相关文章
相关标签/搜索