前言
关于这个错误,多数情况下是前端传的数据格式和后端的不一致导致,但是也有少数情况是我们后端自己的配置出错,这个博文说的就是后端出错的情况,我说的这种情况还有可能伴随着405错误,什么什么not allowed,如果你找网上的问题解决了405之后紧接着就出现了400这个问题,可能就是这个博文所说的问题
问题详情
访问静态网页比如html等,明明没有json格式之类的格式错误,但是就是报错
解决方案
给springmvc配置文件applicationContext.xml加上以下代码即可
<mvc:annotation-driven>
<mvc:path-matching suffix-pattern="false" />
</mvc:annotation-driven>
分析
我就不深入分析源码了,
象征性地说一下就行了,
在springmvc的源码中有一个类叫org.springframework.web.servlet.mvc.condition.PatternsRequestCondition,
里面有一个属性叫useSuffixPatternMatch,
这个属性是决定URL是否“模糊匹配”的开关,
比如当项目中同时存在 ${webroot}/add 和 ${wapapp}/add.html这样的形式的时候,
当客户端访问后者,
springmvc会模糊匹配到前者,
服务器转而访问前者而访问不到后者&#