一般遇到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. Android面试收集录 对话框、信息提示和菜单

    1.如何使用AlertDialog显示一个列表? 使用AlertDialog.Builder.setItems方法. 在setItems中定义DialogInterface.OnClickListen ...

  2. 20145202 2016-2017-2 《Java程序设计》第一周学习总结

    20145202 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 java是SUN公司推出的面相网络的编程语言. 特点:完全面向对象,与平台无关,跨平台性(例 ...

  3. 不同编译器下,定义一个地址按x字节对齐的数组

    以前一直用MDK,用__align(4)就可以定义一个首地址被4整除.地址按4字节对齐的数组,但今天用IAR发现这么写编译报错. 搜了一下才发现,原来不同的编译器,需要用不同的表达方式: #if de ...

  4. 获取单片机唯一id(stm32获取单片机唯一id)

    stm32唯一id: 不同型号的stm32单片机,id不在同一地址上!具体地址可以通过用户手册中的Device electronic signature>Unique device ID reg ...

  5. 美年健康股票成交量和K线关系

    看下美年健康的股票,这次主要是研究下成交量和K线的关系,以最后5天为例子,股票下跌成交量降低,说明抛压很小,在最后3天,价格突破的时候,成交量是平时的两倍,说明有机构买入, 业绩部分还可以,全民健身是 ...

  6. 在spring+beranate中多数据源中使用 ThreadLocal ,总结的原理 --费元星

    设计模式 首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问 ...

  7. ES6 中 export ,export default 区别

    1.export与export default均可用于导出常量.函数.文件.模块等: 2.你可以在其它文件或模块中通过import+(常量 | 函数 | 文件 | 模块)名的方式,将其导入,以便能够对 ...

  8. C++学习006-条件运算符

    这里我也理解的不咋的,大致意思应该就是根据运算符号 的优先级不同来解决的 条件运算符是其中一部分,而条件运算符具有右结合性,当一个表达式中出现多个条件运算符时,应该将位于最右边的问号与理他最近的冒号配 ...

  9. HDFS伪分布式环境搭建

    (一).HDFS shell操作 以上已经介绍了如何搭建伪分布式的Hadoop,既然环境已经搭建起来了,那要怎么去操作呢?这就是本节将要介绍的内容: HDFS自带有一些shell命令,通过这些命令我们 ...

  10. ES mapping field修改过程

    Elasticsearch 的坑爹事--记录一次mapping field修改过程 http://www.cnblogs.com/Creator/p/3722408.html Elasticsearc ...