博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HTTP Status 415 – Unsupported Media Type(使用@RequestBody后postman调接口报错)
阅读量:4970 次
发布时间:2019-06-12

本文共 2786 字,大约阅读时间需要 9 分钟。

  • 问题描述:使用springMVC框架后,添加数据接口中,入参对象没使用@RequestBody注解,造成postman发起post请求,from-data可以调通接口,但是raw调不通接口,然后我用了SpringMVC @ResponseBody 注解,调接口显示415错误
  • 处理:
    • springmvc添加配置、注解:
1  
2
3
4
5
6
7
8 9
10
11
12
application/json;charset=UTF-8
13
14
15
View Code
    • pom.xml添加jackson包引用:
1 
2
3
com.fasterxml.jackson.core
4
jackson-core
5
2.9.6
6
7
8
9
com.fasterxml.jackson.core
10
jackson-databind
11
2.9.6
12
13
14
15
com.fasterxml.jackson.core
16
jackson-annotations
17
2.9.6
18
View Code
    • Ajax请求时没有设置Content-Type为application/json

  • 注:按照上面配置完成后可以使用raw调用接口中包含@RequestBody注解的接口,但是此时你会发现form-data这种方式访问接口又调不通了,百度了下,解决如下:
  1. form-data 的 Content-Type 的类型是 application/x-www-form-urlencoded,是表单编码,不同的是还可以提交文件。
  2. raw 的话,有几种,常用的是application/json
  3. 如果SpringMVC要接受application/json,需要使用 @RequestBody 注解来接收。
  4. 也就是说 @RequestBody 注解接收的是application/json格式的参数,这种参数使用raw传参可以自定义格式为(JSON(application/json)),但是form-data传参的格式是application/x-www-form-urlencoded的,所以调不通接口。
  • 参考:
  • 注:
1 1.使用上述处理配置完成后,不使用@RequestBody注解的话,通过postman的form-data调接口,接口能调通,但是值传不进来。 2 2.使用上述处理配置完成后,使用@RequestBody注解的话,通过postman的form-data调接口,接口不能调通,报415错误。 3  4  5  6 3.使用上述处理配置完成后,不使用@RequestBody注解的话,通过postman的raw (application/json)调接口,接口能调通,但是值传不进来。 7  8 4.使用上述处理配置完成后,使用@RequestBody注解的话,通过postman的raw (application/json)调接口,接口能调通,值能传入,完成添加操作。 9 10 11 12 5.不使用上述处理配置完成后,不使用@RequestBody注解的话,通过postman的raw (application/json)调接口,接口能调通,但是值传不进来。13 14 6.不使用上述处理配置完成后,使用@RequestBody注解的话,通过postman的raw (application/json)调接口,接口不能调通,报415错误。15 16 17 18 7.不使用上述处理配置完成后,不使用@RequestBody注解的话,通过postman的form-data调接口,接口能调通,但是值传不进来。19 20 8.不使用上述处理配置完成后,使用@RequestBody注解的话,通过postman的form-data调接口,接口不能调通,报415错误。
View Code

 


 

  • 参考:
springMVC 如果不进行必要配置的话,只支持x-www-form-urlencoded,如果使用form-data会报400 Bad Request错误。
在spring的mvc配置文件中配置对multi的支持即可,如下:
此时对以上两种编码格式都支持。注意:此时需要引入
commons-fileupload
commons-fileupload
${commons-fileupload.version}

 

转载于:https://www.cnblogs.com/LJing21/p/10485146.html

你可能感兴趣的文章
linux usb驱动——Gadget代码介绍
查看>>
【洛谷】CYJian的水题大赛【第二弹】解题报告
查看>>
POJ 1703 Find them, Catch them【种类/带权并查集+判断两元素是否在同一集合/不同集合/无法确定+类似食物链】...
查看>>
L1-5. A除以B【一种输出格式错了,务必看清楚输入输出】
查看>>
Git一分钟系列--快速安装git客户端
查看>>
bzoj 3160 万径人踪灭 —— FFT
查看>>
poj3254二进制放牛——状态压缩DP
查看>>
使用 ref 和 out 传递数组注意事项
查看>>
combobox和textbox中输入数据为非数字leave时的公用事件,只需要在控件的leave事件中选择本事件即可...
查看>>
纵越6省1市-重新启动
查看>>
hive安装以及hive on spark
查看>>
勇者无畏
查看>>
12864点阵液晶显示模块的原理和实例程序(HJ12864M-1)
查看>>
jz1074 【基础】寻找2的幂
查看>>
Wannafly模拟赛5 A 思维 D 暴力
查看>>
C#控制台程序实现鼠标左右手习惯切换
查看>>
C++ 继承、函数重载
查看>>
Javascript获取select下拉框选中的的值
查看>>
并发编程注意的问题
查看>>
angular--ngResource的简单使用
查看>>