分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

HTTP Status 415 – Unsupported Media Type(使用@RequestBody后postman调接口报错)

发布时间:2023-09-06 02:34责任编辑:蔡小小关键词:暂无标签

1.问题描述:使用springMVC框架后,添加数据接口中,入参对象没使用@RequestBody注解,造成postman发起post请求,

      from-data可以调通接口,但是raw调不通接口,然后我用了SpringMVC @ResponseBody 注解,调接口显示415错误处理。

处理:

springmvc添加配置、注解:

 1 ?<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> 2 ????????<property name="messageConverters"> 3 ????????????<list> 4 ????????????????<ref bean="jsonHttpMessageConverter" /> 5 ????????????</list> 6 ????????</property> 7 ???</bean> 8 ??9 ???<bean id="jsonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">10 ????????<property name="supportedMediaTypes">11 ????????????<list>12 ????????????????<value>application/json;charset=UTF-8</value>13 ????????????</list>14 ????????</property>15 ???</bean>
View Code

pom.xml添加jackson包引用:

 1 <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core --> 2 ????????????<dependency> 3 ????????????????<groupId>com.fasterxml.jackson.core</groupId> 4 ????????????????<artifactId>jackson-core</artifactId> 5 ????????????????<version>2.9.6</version> 6 ????????????</dependency> 7 ????????????<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --> 8 ????????????<dependency> 9 ????????????????<groupId>com.fasterxml.jackson.core</groupId>10 ????????????????<artifactId>jackson-databind</artifactId>11 ????????????????<version>2.9.6</version>12 ????????????</dependency>13 ????????????<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -->14 ????????????<dependency>15 ????????????????<groupId>com.fasterxml.jackson.core</groupId>16 ????????????????<artifactId>jackson-annotations</artifactId>17 ????????????????<version>2.9.6</version>18 ????????????</dependency>
View Code

Ajax请求时没有设置Content-Type为application/json

注:按照上面配置完成后可以使用raw调用接口中包含@RequestBody注解的接口,但是此时你会发现form-data这种方式访问接口又调不通了,百度了下,解决如下:

  • form-data 的 Content-Type 的类型是 application/x-www-form-urlencoded,是表单编码,不同的是还可以提交文件。
  • raw 的话,有几种,常用的是application/json
  • 如果SpringMVC要接受application/json,需要使用 @RequestBody 注解来接收。

也就是说 @RequestBody 注解接收的是application/json格式的参数,这种参数使用raw传参可以自定义格式为(JSON(application/json)),

但是form-data传参的格式是application/x-www-form-urlencoded的,所以调不通接口。

参考:

https://blog.csdn.net/leyangjun/article/details/79221765

https://blog.csdn.net/yixiaoping/article/details/45281721#comments

HTTP Status 415 – Unsupported Media Type(使用@RequestBody后postman调接口报错)

原文地址:https://www.cnblogs.com/LJing21/p/10485146.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved