一般遇到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. iOS-合成图片(长图)

    合成图片 直接合成图片还是比较简单的,现在的难点是要把,通过文本输入的一些基本数据也合成到一张图片中,如果有多长图片就合成长图. 现在的实现方法是,把所有的文本消息格式化,然后绘制到一个UILable ...

  2. Linux-ls,cd,type命令

    windows: dll:dynamic link library,动态链接库 Linux: .so:shared object,共享对象 操作系统: kernel:内核: 1.进程管理 2.内核管理 ...

  3. git安装后Gitbase闪退,gui无法使用问题解决

    一般是因为null.sys导致,根本原因应该还是你装的盗版系统有问题,解决办法如下 cmd 打开命题提示符后  输入  sc  start null  看 null.sys是否有问题,如果有问题,重新 ...

  4. ardupilot_gazebo仿真(二)

    ardupilot_gazebo仿真(二) 标签(空格分隔): 未分类 在模型中添加sensor gezebo官网-sensor部分教程 gezebo官网-基础部分教程 Gazebo plugins ...

  5. 预研报告——MyBatis持久层的demo

    一.预研任务介绍和预研目标 任务介绍: 与 Hibernate 相比, MyBatis 是一个半自动化的持久层框架,以轻量级.效率高.原生代而好评如潮.虽然有在分享会上大致讲解,但是还是重新梳理成文字 ...

  6. c语言实现带LRU机制的哈希表

    #include <stdint.h> #include <stdio.h> #include <stdlib.h> #include <string.h&g ...

  7. Android EditText 限制输入字符

    今天为简单的登录界面的输入框(用户名.密码框,验证码),均为EditText框,做输入限制,不能有空格,不能有一些特殊字符,不多说,直接上代码: /** * 禁止EditText输入空格 * * @p ...

  8. 指针C语言

    一.PTA实验作业 题目一:6-7输出月份英文名 1.PTA提交列表 2.设计思路和流程图 这题只需补充子函数,定义指针数组month[12],分别从一月到十二月,再定义一个字符,让它为NULL,当输 ...

  9. Linux挂载Win共享文件夹 一

    1, Win下选中文件夹,属性设置为共享,红圈中的为共享路径,挂载时//ip/共享路径 2, 3,Linux需要安装这两个软件 rpm -qa | grep samba-client rpm -qa ...

  10. about !dbgprint to analyze BSOD dump file.

    基本规则: 只有debug mode enable的机器,产生的dump file才会保存dbgprint的buffer. 默认!dbgprint的buffer size是4k. 增加buffer s ...