@RequestBody
作用:
i) 该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上;
ii) 再把HttpMessageConverter返回的对象数据绑定到 controller中方法的参数上。
使用时机:
A) GET、POST方式提时, 根据request header Content-Type的值来判断:
- application/x-www-form-urlencoded, 可选(即非必须,因为这种情况的数据@RequestParam, @ModelAttribute也可以处理,当然@RequestBody也能处理);
- multipart/form-data, 不能处理(即使用@RequestBody不能处理这种格式的数据);
- 其他格式, 必须(其他格式包括application/json, application/xml等。这些格式的数据,必须使用@RequestBody来处理);
B) PUT方式提交时, 根据request header Content-Type的值来判断:
- application/x-www-form-urlencoded, 必须;
- multipart/form-data, 不能处理;
-
其他格式, 必须;
说明:request的body部分的数据编码格式由header部分的Content-Type指定;
@ResponseBody
作用:
该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。
使用时机:
返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;
例如:
function getStockList(type,pno){ $.ajax({ type: "post", url: "${contextPath}/stock/page", dataType: "json",//ResponseBody 返回的类型 contentType:"application/json",//RequestBody请求的类型 data: JSON.stringify(getParam(pno)), success: function(rs){ if(rs.status>0){ vm.datalist=rs.list; if(type==1){ generPageHtml(rs.currentPage,rs.totalPage,rs.total); } }else{ } }, error: function(XMLHttpRequest, textStatus, errorThrown){ } }); }
@ResponseBody @RequestMapping(value="/page" , method = RequestMethod.POST) public PageView pageStockPage(@RequestBody StockExt stockExt) {//声明为RequestBody int total = stockService.queryPageCount(stockExt); List<Stock> list=new ArrayList<Stock>(); List<StockVo> listVo=new ArrayList<StockVo>(); if (total > 0) { list=stockService.queryPage(stockExt); listVo = BeanConvertor.convert2StockVo(list);//转成vo集合传到页面上 } PageView pageView = buildSuccessResult(); pageView.setTotal(total); pageView.setList(listVo); return pageView; }
相关推荐
主要介绍了Spring MVC打印@RequestBody、@Response日志的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
使用@RequestBody/@ResponseBody 使用HttpEntity<T>/ResponseEntity<T> 输出XML和JSON 使用HttpEntity<T>/ResponseEntity<T> 目录 数据绑定机理 数据类型转换 PropertyEditor依然有效 强大的ConversionService,让很...
使用@RequestBody/@ResponseBody 使用HttpEntity<T>/ResponseEntity<T> 输出XML和JSON 使用HttpEntity<T>/ResponseEntity<T> 目录 数据绑定机理 数据类型转换 PropertyEditor依然有效 强大的...
本文主要介绍了springmvc实现json交互-requestBody和responseBody的相关知识。具有很好的参考价值。下面跟着小编一起来看下吧
这是最新版的jackJSON的jar包,可以用来生成和解析JSON数据。也是Spring MVC默认使用的解析。一般可以配合@RequestBody和@ResponseBody混合使用
@RequestBody @PathVariable @RestController Spring MVC的基本配置 静态资源映射 拦截器配置 @ControllerAdivce @ExceptionHandler @InitBinder @ModelAttribute 其他配置 ...
decrypt-encrypt-message-converterspring mvc 加解密报文注解 @EncryptDecrypt 作用于类或者方法上,即实现加解密spring mvc报文注解 @ExcludeEncryptDecrypt作用与方法 可在@EncryptDecrypt作用于类之后,排除不想...
SpringMVC 采用了松散耦合可插拔组件结构,更具扩展性和...8. RequestBody 注解 9. RequestHeader 注解 10. RequestMethod 类 11. RequestParam 注解 12. ResponseBody 注解 13. SessionAttribute 注解 14. 其他注解
BoundRequestBodyObtainAdvice获取@RequestBody参数对象,将其设置为当前的RequestTrack对象的ControllerAdvice ResponseBodyWrapAdvice ResponseBody对象返回值统一包装 RestExceptionAdvice统一异常处理 ...
3. New Features and Enhancements in Spring Framework 4.0 ............................................ 17 3.1. Improved Getting Started Experience .........................................................
3. New Features and Enhancements in Spring Framework 4.0 ............................................ 17 3.1. Improved Getting Started Experience .........................................................