一般遇到Request method 'GET' not supported这种问题,大家都会找相应controller下的具体方法,把get改为post之类。但是我这次是在访问静态资源,static下的html是遇到的。

说下解决思路,之前是好好的,突然同事说静态资源无法访问,控制台异常如下:

值得留意的有几点:1、PageNotFound:215;2、Request method 'GET' not supported;3、DefaultHandlerExceptionResolver:189 - Resolved exception caused by Handler execution: org.springframework.web.HttpRequestMethodNotSupportedException(这点应该是前后两个部分需要注意的)。

没办法出现了问题就要处理,首先,直接百度,主要集中在Request method 'GET' not supported加html springboot一起搜索,我这是springboot项目,把那些xml配置文件相关的解答先给排除。还真在网上搜到一篇跟这个问题几乎一模一样的,stack overflow上的,老外的问题回答肯定专业。看完后上面说是@RequestMapping(也好像是项目启动处的配置文件,具体记不清了)的url里可能只有一个/,后面遇到问题的还真找到了,在自己相应的位置加上具体一些路径就OK了。于是按照这种思路我开始整个项目搜索每个接口,根本就没有这种情况。

后来按照这个问题搜索加载不到static下的html,这时主要处理针对项目的入口,如图所示两处位置,

WebMvcConfigurerAdapter是spring给出的一些默认配置,如静态资源默认最优先访问resources下的static里的文件(html),所以我猜测可能是我哪里的配置影响了这个功能(之前这种配置一直是好的)。于是就开始疯狂搜索各种解决方案,这个又捣鼓了两天的时间,还是没搞定,把人逼疯的节奏。

前天晚上想到了另外一种可能,引用的jar包版本冲突,熟悉springboot的朋友都知道,不同版本冲突的严重性,可是我最近没有更新过pom里的东西。不管这些了,先改下boot的版本,升级到目前的最新版。下载了半天,启动后依然这个异常,其他一些引用也改了,同样不行。好吧,你牛逼,哥放弃了。

这些天是同事把项目恢复到之前的版本来回避这个问题的。昨天晚上我做了下更新,早上同事从git上pull代码之后问题又出现了。头疼,再看这个问题,还好他说昨天的代码是OK的,把昨天的代码down下来一份,放到本地。上边说了问题有三点,org.springframework.web.HttpRequestMethodNotSupportedException这个问题之前一直没看。于是,把这个东西单独拉出来个引用,设定好版本,我本地maven仓库里有三个它的版本,而且最新的修改日期也相近。不管他是不是springboot版本里带的了,拉出来试试。结果版本号一加,整个项目都起不来了。所以,这种解决思路也失败了。

就这样放弃很不甘心,总有种挫败感。没办法,把down下来的那份好的代码一个文件夹一个文件夹的往本地项目中复制。最终确定下来是其中一个类的问题,事情变简单了,浏览该类没发现异常。使用排除法,先留一个方法,然后一个一个的释放,直到问题再次出现。最终问题锁定:

大家注意,这里是name属性,正常情况下我都是写的value。问了下同事,他说以前用name的时候跟value没啥区别,都可能正常进行接口调用。试下了,好吧还真通了。把name改成value后所有的东西都正常了,html也可以正常访问。@RequestMapping中有8个属性:

我在网上搜了下,没找到介绍name的,不管了,反正平时我也没用过,如果有知道的朋友可以给我留言说明。

记另类Request method 'GET' not supported的更多相关文章

  1. Spring boot: Request method 'DELETE' not supported, Request method 'PUT' not supported, Request method 'POST' not supported

    GET,POST,PUT,DELETE, Spring都支持,不要怀疑Spring, 一定是前端发送的rest 请求和后端的响应不匹配, 查找原因以及解决办法, 很简单 用chrome打开F12控制台 ...

  2. org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'PUT' not supported

    1:先上控制台报错信息 org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'PUT' not ...

  3. WARN PageNotFound:208 - Request method 'POST' not supported

    在地址栏输入网址访问页面 ,用的是GET方法. 在用ajax接收后台数据,根据返回值进行提示或页面跳转时报:WARN PageNotFound:208 - Request method 'POST' ...

  4. SpringMVC框架出现 405 request method post not supported 的解决方法

    在SpringMVC框架中当使用post请求服务,然后请求成功转到一个静态文件,如html,htm等网页时.页面出现405 request method post not supported错误,只要 ...

  5. Request method 'POST' not supported错误和解决方法

    在使用SpringBoot的时候,在html页面用form表单post提交数据的时候报错: Request method 'POST' not supported 错误解析: 我是用的前端页面是HTM ...

  6. springmvc访问静态资源出现Request method 'GET' not supported

    答案最后.:D 默认的访问的URL都会被DispatcherServlet所拦截. 这里说一下如何配置springmvc访问静态文件. <mvc:default-servlet-handler/ ...

  7. Request method 'GET' not supported

    Request method 'GET' not supported 错误原因: GET请求不被允许. 解决方法: 1.从客户端入手.假设浏览器中的js用了ajax发起异步请求GET,将GET改为PO ...

  8. 常见踩坑案例(二)-Request method 'POST' not supported

    一 前言 最近涉及到与前后端的数据对接,按道理来说没一点压力结果被一前端童鞋带坑里去了(不过也是很久没写过这种前后端分离进行联调的事情了,如果是一个人全套弄的话就不会出现下面问题). 二 Reques ...

  9. 警告: Request method 'POST' not supported的原因之一

    警告: Request method 'POST' not supported是经常遇到的,这里记录一下我经常遇到的一种情况,以免忘记. 我使用拦截器拦截所有请求,然后列出不拦截的请求.有时候由于自己 ...

随机推荐

  1. OpenCV代码提取:transpose函数的实现

    OpenCV中的transpose函数实现图像转置,公式为: 目前fbc_cv库中也实现了transpose函数,支持多通道,uchar和float两种数据类型,经测试,与OpenCV3.1结果完全一 ...

  2. Python未彻底测试的项目

    第一 socket 第二 twisted 第三 tornado 第四 微信网页版本登录 第五:进程,线程,协程间关系 第六:TCP三次握手 第七:堡垒机 第八:重写django admin

  3. FPGA数字鉴相鉴频器的开发记录

    1. 对于电机的锁相控制,需要对相差进行PI性质的环路滤波,但现有的锁相环中鉴频鉴相器输出为相差脉冲而非数字量,难以直接进行PI特性的环路滤波. 通过对晶振的非整数分频获取准确的参考时钟,基于触发器机 ...

  4. asp.net mvc 无刷新加载

    1.视图(index) <!--start--> <div data-am-widget="list_news" class="am-list-news ...

  5. jqgrid-parmNames和jsonReader的使用,以及json的返回格式(转)

    prmNames : { page:"page",    // 表示请求页码的参数名称 rows:"rows",    // 表示请求行数的参数名称 sort: ...

  6. 虚拟现实-VR-UE4-构建光照显示光照构建失败,Swarm启动失败

    闲的无聊折腾,发现想构建光照的时候,总是显示失败 如下图 百度许久,有大神指出是我在编译源码的的时候没有将其中的某个模块编译进去,只需要重新编译摸个模块就好 在UE4 的sln文件下,会看到一个Unr ...

  7. 怎么在windows10中关闭Windows Defender?

    通过修改注册表,永久禁用Windows Defender 打开注册表编辑器. 按 Win +R键入regedit,点击确定.    定位需要修改的注册表 其路径如下 HKEY_LOCAL_MACHIN ...

  8. 第三十四篇 Python面向对象之 反射(自省)

    什么是反射? 反射的概念是由Smith在1982年提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省).这一概念的提出很快引发了计算机科学领域关于应用反射性的研究.它首先被程序语 ...

  9. JS运行在服务器端注意事项

    <script runat="server" language="javascript"> </script> 1. ASP利于JS重载 ...

  10. CSS3 :animation 动画

    CSS3动画分为二部份: 1.定义动画行为: 使用@keyframes定义动画行为,有两种方式: 方式一:仅定义动画起始样式,与动画结束样式 @keyframes (动画行为名称) { from {b ...