| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> SpringBoot中post请求报405错误排坑 -> 正文阅读 |
|
[Java知识库]SpringBoot中post请求报405错误排坑 |
记一次排坑过程。 SpringBoot中前端向后端发起post请求,页面提示405错误,方法不被支持。 然后尝试了一下get请求,是完全没问题的。 一开始以为是控制器配置错了,但仔细排查,控制器用的是@RequestMapping(xxx),默认是支持get和post请求的。因此强制指定了post方式,修改为: @RequestMapping(value = "xxx", method = {RequestMethod.GET,RequestMethod.POST}) 然后依然是get请求可以,post报405错误。 之后尝试直接@PostMapping("xxx"),发现依然405。 经过最后排查,发现控制器实际上post方法已经进来了,而报405错误的位置并不是控制器本身问题,而是控制器中最后跳页面的问题: 控制器最后一行:return new ModelAndView("xxx.html"); 就是这一行的坑!原因很简单,因为SpringBoot中只允许get方式请求静态资源!所以post方式请求控制器后,以转发形式跳转页面,会保持post方式请求html静态资源,导致405错误! 按照个人理解,这是因为SpringBoot已经默认前后端分离方式处理页面导致的。 解决方案: 1.使用重定向方式跳转静态页面:return new ModelAndView("redirect:xxx.html"); 2.配置Web配置类,实现WebMvcConfigure接口,在其中对静态资源的post方法放行。(此方法自行查阅) |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 17:03:42- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |