org.springframework.http.InvalidMediaTypeException: Invalid mime type "application.....

org.springframework.http.InvalidMediaTypeException: Invalid mime type "application/x-www-form-urlencoded charset=UTF-8":

问题描述

将get请求改为post请求,参数改为body之后,前端调用后台系统报错,错误日记如下所示

org.springframework.http.InvalidMediaTypeException: Invalid mime type “application/x-www-form-urlencoded charset=UTF-8”: Invalid token character ’ ’ in token “x-www-form-urlencoded charset=UTF-8”
at org.springframework.http.MediaType.parseMediaType(MediaType.java:371) ~[spring-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
at org.springframework.http.HttpHeaders.getContentType(HttpHeaders.java:717) ~[spring-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
at org.springframework.http.server.ServletServerHttpRequest.getHeaders(ServletServerHttpRequest.java:115) ~[spring-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
at org.springframework.web.util.WebUtils.isSameOrigin(WebUtils.java:807) ~[spring-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
at org.springframework.web.cors.DefaultCorsProcessor.processRequest(DefaultCorsProcessor.java:71) ~[spring-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
at org.springframework.web.servlet.handler.AbstractHandlerMapping$CorsInterceptor.preHandle(AbstractHandlerMapping.java:503) ~[spring-webmvc-4.2.1.RELEASE.jar:4.2.1.RELEASE]
at org.springframework.web.servlet.HandlerExecutionChain.applyPreHandle(HandlerExecutionChain.java:134) ~[spring-webmvc-4.2.1.RELEASE.jar:4.2.1.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:954) ~[spring-webmvc-4.2.1.RELEASE.jar:4.2.1.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893) ~[spring-webmvc-4.2.1.RELEASE.jar:4.2.1.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) [spring-webmvc-4.2.1.RELEASE.jar:4.2.1.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872) [spring-webmvc-4.2.1.RELEASE.jar:4.2.1.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) [servlet-api.jar:na]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) [spring-webmvc-4.2.1.RELEASE.jar:4.2.1.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) [servlet-api.jar:na]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) [catalina.jar:9.0.0.M1]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184) [catalina.jar:9.0.0.M1]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) [tomcat-websocket.jar:9.0.0.M1]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:217) [catalina.jar:9.0.0.M1]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184) [catalina.jar:9.0.0.M1]

问题原因

产生这个错误的原因是请求改为post和body方式之后,前端请求的contentType没有做相应的改动还是保持原来的表单提交方式。

解决方案

前端请求将contentType属性设置为:application/json即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值