`
qieyi28
  • 浏览: 152572 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Spring MVC之@RequestBody, @ResponseBody 使用方法

阅读更多

@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日志的方法

    主要介绍了Spring MVC打印@RequestBody、@Response日志的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Spring MVC 3.0实战指南.ppt

    使用@RequestBody/@ResponseBody 使用HttpEntity&lt;T&gt;/ResponseEntity&lt;T&gt; 输出XML和JSON 使用HttpEntity&lt;T&gt;/ResponseEntity&lt;T&gt; 目录 数据绑定机理 数据类型转换 PropertyEditor依然有效 强大的ConversionService,让很...

    Spring3MVC注解教程.ppt

    使用@RequestBody/@ResponseBody 使用HttpEntity&lt;T&gt;/ResponseEntity&lt;T&gt; 输出XML和JSON 使用HttpEntity&lt;T&gt;/ResponseEntity&lt;T&gt; 目录 数据绑定机理 数据类型转换 PropertyEditor依然有效 强大的...

    springmvc实现json交互-requestBody和responseBody

    本文主要介绍了springmvc实现json交互-requestBody和responseBody的相关知识。具有很好的参考价值。下面跟着小编一起来看下吧

    jsacson2.9jar包 最新版

    这是最新版的jackJSON的jar包,可以用来生成和解析JSON数据。也是Spring MVC默认使用的解析。一般可以配合@RequestBody和@ResponseBody混合使用

    springboot学习思维笔记.xmind

    @RequestBody @PathVariable @RestController Spring MVC的基本配置 静态资源映射 拦截器配置 @ControllerAdivce @ExceptionHandler @InitBinder @ModelAttribute 其他配置 ...

    decrypt-encrypt-message-converter:spring mvc 加解密报文

    decrypt-encrypt-message-converterspring mvc 加解密报文注解 @EncryptDecrypt 作用于类或者方法上,即实现加解密spring mvc报文注解 @ExcludeEncryptDecrypt作用与方法 可在@EncryptDecrypt作用于类之后,排除不想...

    spring mvc 注解

    SpringMVC 采用了松散耦合可插拔组件结构,更具扩展性和...8. RequestBody 注解 9. RequestHeader 注解 10. RequestMethod 类 11. RequestParam 注解 12. ResponseBody 注解 13. SessionAttribute 注解 14. 其他注解

    beginning-mind:初心

    BoundRequestBodyObtainAdvice获取@RequestBody参数对象,将其设置为当前的RequestTrack对象的ControllerAdvice ResponseBodyWrapAdvice ResponseBody对象返回值统一包装 RestExceptionAdvice统一异常处理 ...

    spring-framework-reference-4.1.2

    3. New Features and Enhancements in Spring Framework 4.0 ............................................ 17 3.1. Improved Getting Started Experience .........................................................

    spring-framework-reference4.1.4

    3. New Features and Enhancements in Spring Framework 4.0 ............................................ 17 3.1. Improved Getting Started Experience .........................................................

Global site tag (gtag.js) - Google Analytics