`
ymq267
  • 浏览: 128865 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
社区版块
存档分类
最新评论

SpringMVC如何接收application/json内容编码类型的参数?

 
阅读更多
[size=medium]
在上代码之前,有必要先说说@ResquestBody注解的含义:
1、官方解释如下:

Annotation indicating a method parameter
should be bound to the body of the web request.
The body of the request is passed through an {@link HttpMessageConverter}
to resolve the method argument depending on the content type of the request.
(意思大概是:用该注解标识的方法的参数,会和web请求体绑定。
http消息转换器会根据content-type的设置将请求体解析,从而初始化该方法的参数。)

2、另外还需解释一下使用的场景
GET、POST方式提交的请求:


Content-type:

1、application/x-www-form-urlencoded:@RequestBody不是必须加的

2、mutipart/form-data:@RequestBody不能处理这种格式

3、其他格式,比如application/json,application/xml等,必须使用@RequestBody来处理

PUT方式提交的请求:

以上1和3的场景都是必须使用@RequestBody来处理的,2场景也是不支持的

3、前端代码如下:(这里必须将JSON对象使用JSON.stringify()转为JSON字符串再传递,否则后台接收不到值)

$.ajax({
    url:"../../Notice/LoadForm.do",
    type:"post",
    contentType:"application/json;charset=UTF-8",
    data:JSON.stringify({"id":"1","title":"标题"})
});


4、后台接收代码示例

@RequestMapping(value="Notice/LoadForm")
@ResponseBody
public ResultJO loadForm(@RequestBody Notice notice){

}

[/size]
分享到:
评论

相关推荐

    springmvc接收ajax请求注意事项

    在 Ajax 请求中,如果传输的参数是基本数据类型,例如数字、字符串等,那么需要将 `contentType` 属性设置为 `application/json`。例如: ```javascript $.ajax({ url: "${pageContext.request.contextPath}/...

    解决SpringMVC接收不到ajaxPOST参数的问题

    但是,在使用SpringMVC时,经常会遇到ajax POST请求参数接收不到的问题。本文将探讨解决这个问题的方法和原因。 问题描述 在使用ajax POST请求时,经常会遇到参数接收不到的问题。例如,在Java后台使用@...

    SpringMVC接收复杂集合对象(参数)代码示例

    2. **MIME编码**:默认情况下,@RequestBody期望的请求内容类型为application/json。当客户端通过Ajax发送POST请求时,需要设置请求头信息`contentType : 'application/json;charset=utf-8'`,确保数据以JSON格式...

    SpringMVC接收请求参数区别.docx

    - Spring MVC在处理请求时,会根据方法参数类型和请求内容类型自动选择合适的注解进行参数绑定。例如,如果请求体是JSON格式,且参数类型为自定义对象,则会选择@RequestBody。 在给定的示例中,`...

    浅谈springMVC接收前端json数据的总结

    在讨论Spring MVC框架如何处理前端传递的JSON数据时,涉及到的知识点主要包括请求映射、数据绑定、数据类型转换、以及HTTP请求内容的编码方式等方面。 首先,需要了解的是Spring MVC如何通过@RequestMapping注解来...

    springMVC接收和返回参数各种情况整合

    ##### 3.1 直接通过方法参数接收 **方式一:** 使用方法参数名称直接映射请求参数。这种方式要求前端传入的参数名称与后端控制器方法中的参数名称完全一致。 ```java public void getParams(String ...

    详解SpringMVC @RequestBody接收Json对象字符串

    在当前的Web开发领域,前后端数据交互经常采用JSON...希望通过以上内容,各位开发者能够更加熟练地运用SpringMVC框架中的@RequestBody注解来处理JSON格式的数据,提高开发效率,确保前后端数据交互的准确性和稳定性。

    SpringMVC中controller接收json数据的方法

    - `dataType`设置为`"json"`,表示期望服务器返回的数据类型也是JSON。 - `data`参数使用`JSON.stringify(json)`将JavaScript对象转换为JSON字符串,这是必需的,因为HTTP请求体需要的是字符串,而不是对象。 2. ...

    SpringMvc后台接收json数据中文乱码问题详解

    4. **在Controller中处理乱码**:虽然前面的配置应该能解决问题,但为了保险起见,你也可以在Controller方法中手动处理请求参数的编码,如示例代码所示,将接收到的ISO-8859-1编码的字符串转换为UTF-8: ```java ...

    解决SpringMvc后台接收json数据中文乱码问题的几种方法

    本文将深入探讨两种解决SpringMvc后台接收JSON数据中文乱码问题的方法。 1. **使用Ajax传输数据** 当前端通过Ajax使用JSON格式向SpringMvc后台发送数据时,可能出现中文乱码。这通常是因为服务器默认的字符编码不...

    SpringMVC中controller返回json数据的方法

    - 使用HttpServletResponse时,设置正确的MIME类型(如"application/json")是很重要的,这样浏览器可以正确地处理响应数据。 通过以上方法,在SpringMVC框架中实现Controller返回JSON数据是可行的。可以根据实际...

    SpringMVC请求/响应乱码问题解决方案解析

    SpringMVC请求/响应乱码问题是指在使用SpringMVC框架进行Web开发时,请求参数或响应内容出现乱码的问题。这种问题的出现是由于字符编码的不一致所引起的。本文将详细介绍SpringMVC请求/响应乱码问题解决方案,并提供...

    springMVC的 RequestBody和 ResponseBody和RequestParam.docx

    1. **JSON 数据处理**:当使用 `application/json` 类型的数据时,Spring 会自动将 JSON 字符串转换为相应的 Java 对象。 2. **非默认编码支持**:可以处理非默认编码的内容类型。 3. **JSON 字符串与对象区别**:...

    Springmvc如何返回xml及json格式数据

    在Spring MVC中,开发Web应用时,经常需要处理XML和JSON这两种常见的数据交换格式。`@ResponseBody`注解是Spring MVC提供的一种将方法返回值直接转换为HTTP响应体内容的机制,而不需要视图解析器参与。以下是关于...

    解决angular的post请求后SpringMVC后台接收不到参数值问题的方法

    本问题探讨的是在使用Angular进行POST请求时,SpringMVC后台无法正确接收到参数值的问题及其解决方案。 首先,让我们看看问题的核心所在。SpringMVC的控制器中定义了一个POST请求处理方法,如下: ```java @...

    springmvc+mybatis demo

    接着,`@RequestBody`注解用于将HTTP请求体中的JSON或XML数据映射到方法参数中,这样可以方便地从前端接收复杂的数据结构。例如: ```java @PostMapping("/saveUser") public ResponseEntity<?> saveUser(@Request...

    Springmvc处理ajax请求并返回json数据

    AJAX(Asynchronous JavaScript and XML)允许我们在不刷新整个页面的情况下更新部分网页内容,而JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。...

    详解Http请求中Content-Type讲解以及在Spring MVC中的应用

    `application/*`开头的类型,例如`application/xhtml+xml`(XHTML格式)、`application/xml`(XML数据格式)、`application/atom+xml`(Atom XML聚合格式)、`application/json`(JSON数据格式)、`application/pdf`...

    解决Ajax加载JSon数据中文乱码问题

    完成上述修改后,SpringMvc将能够正确处理`text/plain`类型的数据,并以UTF-8编码返回,从而解决Ajax加载JSON数据时的中文乱码问题。 三、总结 解决Ajax加载JSON数据中文乱码问题的关键在于确保服务器端正确设置...

Global site tag (gtag.js) - Google Analytics