java 415_@RequestBody接受参数报415错误「建议收藏」

java 415_@RequestBody接受参数报415错误「建议收藏」1.简介@RequestBody作用:1)该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上;2)再把HttpMessageConverter返回的对象数据绑定到controller中方法的参数上。使用时机:1)GET、POST方式提时,根据requestheaderConten…

大家好,又见面了,我是你们的朋友全栈君。

1.简介

@RequestBody

作用:

1) 该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上;

2) 再把HttpMessageConverter返回的对象数据绑定到 controller中方法的参数上。

使用时机:

1) GET、POST方式提时, 根据request header Content-Type的值来判断:

A.application/x-www-form-urlencoded, 可选(即非必须,因为这种情况的数据@RequestParam, @ModelAttribute也可以处理,当然@RequestBody也能处理);

B.multipart/form-data, 不能处理(即使用@RequestBody不能处理这种格式的数据);

C.其他格式, 必须(其他格式包括application/json, application/xml等。这些格式的数据,必须使用@RequestBody来处理);

2) PUT方式提交时, 根据request header Content-Type的值来判断:

A.application/x-www-form-urlencoded, 必须;

B.multipart/form-data, 不能处理;

C.其他格式, 必须;

说明:

request的body部分的数据编码格式由header部分的Content-Type指定;

requestBody接收的是JSON对象的字符串,AJAX传递数据使用的是JSON,所以需要使用JSON.stringify()转化为JSON字符串,从而被requestBody接收。

@ResponseBody

作用:

该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。

使用时机:

返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;

2.Spring MVC的配置文件

增加配置

3.需要的jar包

在Maven中增加依赖

Spring-webmvc 和  jsckson-mapper-asl

注:在jsp中使用ajax提交时出现了下面的问题: 415 (Unsupported Media Type), 可能出现的原因如下:

1. dataParam 格式错误,不符合json字符串规范

2. dataParam 参数不能绑定到控制器方法的参数上面,不是一一对应

3. 没有在ajax提交时设置contentType

contentType指的是前台传递到后台的格式,dataType指的是由后台传到前台的格式

4. jackson的jar包不对或者不全:

不应该使用org.codehaus.jackson下面的jackson.jar, 应该使用com.fasterxml.jackson.core下面的jackson-core和jackson-databind 的jar包

5. 加上

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135785.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • [Android] Bitmap内存在各系统版本的演化

    聚焦的问题1、Bitmap的像素数据是存在哪里的?2、Bitmap内存如何释放?需要调用recycle吗?Bitmap bitmap = Bitmap.createBitmap(100,100,Bitmap.Config.ARGB_8888);以这样声明一个bitmap为例,有三个位置需要关注,bitmap引用本身所在的位置(栈),引用指向的对象所在的位置(堆),对象中持有的像素数据所在的…

    2022年3月11日
    34
  • linux快捷键停止抓包命令,【linux命令】Linux抓包命令tcpdump以及常见抓包使用方法…[通俗易懂]

    linux快捷键停止抓包命令,【linux命令】Linux抓包命令tcpdump以及常见抓包使用方法…[通俗易懂]一个学友问下怎么没有抓包命令的教程,感谢热心反馈,特地这里简单补充下内容以便学友了解。系统运行过程中,难免发现服务器一些流量异常或访问异常,我们可以采用tcpdump命令进行抓包。下边简单介绍下该命令使用办法。1,安装tcpdump一些系统默认没有安装,我们需要yum安装下这个命令:yuminstalltcpdump-y2,tcpdump使用。一些使用我们可以tcpdump–help看下…

    2022年8月20日
    11
  • tabnine激活码(破解版激活)

    tabnine激活码(破解版激活),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    48
  • altas(ajax)控件(二十一):判断密码的强弱程度的控件PasswordStrength

    altas(ajax)控件(二十一):判断密码的强弱程度的控件PasswordStrength

    2021年7月25日
    46
  • KeyValuePair和Dictionary详解:「建议收藏」

    KeyValuePair和Dictionary详解:「建议收藏」1、KeyValuePaira、KeyValuePair是一个结构体(struct);b、KeyValuePair只包含一个Key、Value的键值对。2、Dictionarya、Dictionary可以简单的看作是KeyValuePair的集合;b、Dictionary可以包含多个Key、Value的键值对。usingSystem;usingSystem.Collections.Generic;namespaceConsoleTest

    2022年7月15日
    14
  • java 设置环境变量

    java 设置环境变量安装JDK向导进行相关参数设置。如图:正在安装程序的相关功能,如图:选择安装的路径,可以自定义,也可以默认路径。如图:成功安装之后,进行测试是否真的成功安装,点击【开始】—-【运行】—-输入CMD,在命令提示符里面输入“Java-version”并按回车键,出现下图,即为安装成功。如图:下面开始配置环境变量,右击【我的电脑】

    2022年5月11日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号