ResponseBody

SpringMVC之@RequestBody,@ResponseBody,@RequestParam用法

流过昼夜 提交于 2020-04-13 16:17:35
【今日推荐】:为什么一到面试就懵逼!>>> 1.@RequestBody,@ResponseBody 在使用@RequestBody和@ResponseBody之前需要先配置,一般是JSON数据和实体对象之间的转化,springMVC.xml配置文件需要如下配置: <mvc:default-servlet-handler /> <!-- java对象和json之间的转化--> <mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <bean id="fastJsonHttpMessageConverter" class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>application/json;charset=UTF-8</value> </list> </property> </bean> </mvc:message-converters> </mvc:annotation-driven> Server端: @RequestMapping(value = "/ajax",method =

Spring MVC ResponseBody

醉酒当歌 提交于 2019-12-01 09:12:16
上一节小博老师跟大家一起学习了 RequestBody 注解的适用情况,了解了在什么情况下使用以及如何使用RequestBody注解。这一节小博老师继续给大家讲解Controller方法上的另一个注解ResponseBody。 @ResponseBody注解用于Controller方法的返回对象上,通过适当的HttpMessageConverter把返回对象转换为指定格式,然后写入到Response对象的body数据区,返回给客户端。 适用场景 适用于返回数据是json、xml等格式。如果是html页面(或者html标签),则不适合使用 ResponseBody 注解。 工作原理 1. 解析根据Request对象header部分的Accept属性,获取属性内的类型(以“,”隔开) 2. 根据按accept中的所有类型,遍历所有的HttpMessageConverter 3. 找到匹配的HttpMessageConverter后,调用相应方法处理返回对象 替代方案 如果返回的不是对象,而是json字符串,则不需要使用ResponseBody注解,可以直接输出到body区域,如: response.setContentType("application/json; charset=UTF-8"); response.getWriter().print(“{\”name\”:\