`

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等)使用;

3、

@RequestBody注解时: 根据Request对象header部分的Content-Type类型,逐一匹配合适的HttpMessageConverter来读取数据;

分享到:
评论

相关推荐

    Spring MVC之@RequestMapping详解

    《Spring MVC之@RequestMapping详解》 在Java Web开发中,Spring MVC框架因其强大的功能和灵活性而备受青睐。在处理HTTP请求时,@RequestMapping注解扮演着至关重要的角色,它负责将客户端的请求映射到控制器中的...

    springMvc注解之@ResponseBody和@RequestBody详解

    Spring MVC注解之@ResponseBody和@RequestBody详解 在Spring MVC框架中,@ResponseBody和@RequestBody是两个非常重要的注解,它们分别用于处理HTTP请求响应体和请求体的序列化和反序列化。下面,我们将详细介绍这两...

    详解使用@RequestBody取POST方式的json字符串

    总结来说,`@RequestBody`是Spring MVC中处理POST请求JSON数据的关键工具。它可以将JSON字符串转换为Java对象,如直接转换为String,或者转换为Map以便处理动态结构的数据。为了确保正确运行,记得在项目中包含必要...

    springMVC的 RequestBody和 ResponseBody和RequestParam.docx

    ### Spring MVC 中的 RequestBody 和 ResponseBody 及 RequestParam 使用详解 #### 一、Spring MVC 概述 Spring MVC 是 Spring Framework 的一部分,它提供了一种清晰的模型—视图—控制器架构实现,用于构建 Web ...

    Spring MVC之@RequestMapping注解详解

    此外,@RequestMapping还可以与其他注解如@RequestParam、@RequestBody、@PathVariable、@RequestHeader等结合使用,以实现更精细的请求处理。例如,@RequestParam用于从请求参数中获取值,@RequestBody用于从请求体...

    Spring MVC跟jQuery和Twitter Bootstrap的结合

    使用`@RequestBody`和`@ResponseBody`注解,Spring MVC可以将JSON数据自动映射到Java对象。 4. **表单验证**:Spring MVC提供了一套表单验证机制,结合jQuery可以实现客户端的实时验证,提高用户体验。例如,使用...

    spring mvc 简单例子

    Spring MVC 支持创建 RESTful 风格的 Web 服务,通过 @PathVariable、@RequestParam、@RequestBody 和 @ResponseBody 等注解可以方便地处理 URL 路径、查询参数和 HTTP 请求/响应体。 通过以上组件和机制,Spring ...

    spring mvc的例子 简单的bbs

    **Spring MVC 框架详解** Spring MVC 是 Spring 框架的一部分,它是一个轻量级的、模型-视图-控制器(Model-View-Controller)的 Web 应用开发框架,广泛应用于企业级 Java Web 开发。在这个简单的BBS系统中,我们...

    Spring+MVC+3.0.5+Spring+3.0.5+MyBatis3.0.4全注解实例详解

    `@RequestBody`和`@ResponseBody`注解用于将HTTP请求体和响应体直接映射到对象。 在完成上述配置后,我们可以通过编写测试用例或者运行实际的Web应用程序来验证集成是否成功,确保所有的注解配置都能正确地工作。 ...

    Spring MVC RESTFUL接口实例和android测试客户端

    4. **数据绑定**:Spring MVC支持自动的数据绑定,例如`@RequestBody`用于将请求体中的JSON数据转换为Java对象,`@RequestParam`用于从URL参数中提取值,`@PathVariable`用于处理路径变量。 5. **异常处理**:可以...

    Spring MVC简单实例

    此外,Spring MVC 还支持 RESTful 风格的 URL 设计,可以利用 `@PathVariable` 处理路径变量,以及 `@RequestBody` 和 `@ResponseBody` 进行 JSON 数据交换。 通过 `SpringMVC-annotation` 和 `SpringMVC-xml` 文件...

    Spring MVC学习(六)-------注解式控制器详解1

    - `@RequestBody` 和 `@ResponseBody`:分别用于将HTTP请求的主体部分绑定到控制器方法的参数上和将控制器方法的返回结果转换成HTTP响应体。 - `@ResponseStatus`:用于指定控制器方法或异常处理器返回的HTTP状态...

    Spring3.0MVC注解+SringJdbcDaoSupport案例

    6. `@RequestBody`、`@ResponseBody`:分别用于将请求体内容转换为对象和将响应内容写入HTTP响应体。 **Spring JdbcDaoSupport详解:** `SpringJdbcDaoSupport`是Spring提供的一个抽象类,它提供了对JDBC操作的基本...

    spring3.0MVC注解

    【Spring 3.0 MVC 注解详解】 Spring 3.0 的 MVC 框架引入了丰富的注解,使得开发者可以更加简洁、直观地编写 Web 应用程序,减少了传统 XML 配置的繁琐。这些注解使得控制器、请求映射、参数绑定等关键功能变得...

    Spring mvc实现Restful返回xml格式数据实例详解

    关于Controller的具体实现,它需要使用@RequestMapping来定义映射路径,使用@RequestBody和@ResponseBody来处理请求体和响应体。若方法返回值是Java对象,只要该对象已经使用了JAXB注解,并且Spring MVC配置中启用了...

    spring mvc框架应用

    ### Spring MVC 框架应用知识点详解 #### 一、Spring MVC 概述与基础知识 Spring MVC 是 Spring Framework 的一个重要模块,它实现了 MVC(Model-View-Controller)设计模式,帮助开发者快速构建Web应用程序。MVC...

    spring-framework-3.2.1--3.x

    3. Controller:业务逻辑处理,通过@RequestBody和@ResponseBody注解处理请求和响应数据。 4. ViewResolver:视图解析器,将处理结果转换为视图展示给用户。 5. Model-View-Template(MVC设计模式):模型层、视图层...

    Springmvc_Demo

    - `@RequestBody`、`@ResponseBody`:分别用于将请求体转换为方法参数,和将方法返回值直接写入响应体。 5. **优势与应用场景** Spring MVC 由于其强大的功能、灵活的配置和良好的社区支持,被广泛应用于企业级 ...

    Spring3MVC+ajax

    Spring3 MVC可以通过`@ResponseBody`和`@RequestBody`注解支持这些格式的转换。 4. **处理异步响应**: 在Ajax成功接收到服务器响应后,可以使用JavaScript更新DOM,实现页面局部刷新。 **四、SProject压缩包文件...

    精通Spring_Web_MVC优秀框架.pdf

    - **对Ajax的支持**:Spring Web MVC提供了丰富的Ajax支持,包括直接处理Ajax请求、使用`@RequestBody`、`@ResponseBody`注解等。此外还支持对Ajax返回XML的支持以及HTTP消息转换器。 - **文件上传下载**:了解如何...

Global site tag (gtag.js) - Google Analytics