Request method 'GET' not supported.

 

1.我遇到的问题

最近在练习一个简单的SpringBoot增删查改小案例,其中在写“注册”接口时,遇到如下的错误:

(1)页面报错:

Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.

Fri Aug 06 08:34:13 CST 2021
There was an unexpected error (type=Method Not Allowed, status=405).

 

(2)控制台报错:

Request method 'GET' not supported.

 

 

其中注册接口中如下:

//2.开发用户注册
@PostMapping("/regist")
public String regist(User user, String code, HttpSession session){
System.out.println("user===>" + user);
//1.判断验证码是否通过
if (session.getAttribute("code").toString().equalsIgnoreCase(code)){ //通过了才注册奥!
userService.save(user);
return "redirect:/ems/login.jsp"; //通过了跳到登录页面
}else {
return "redirect:/ems/regist.jsp"; //不通过回到注册页面
}
}

前端代码如下:
<form action="${pageContext.request.contextPath}/user/regist" method="post">


常见的状态码有哪些?
① 200:请求成功,浏览器会把响应体内容(通常是html)显示在浏览器中;
② 404:(客户端问题)请求的资源没有找到,说明客户端错误的请求了不存在的资源;
③ 500:(服务端问题)请求资源找到了,但服务器内部发生了不可预期的错误;
④ 301/302/303:(网站搬家了,跳转)重定向
⑤ 304: Not Modified,代表上次的文档已经被缓存了,还可以继续使用。如果你不想使用本地缓存可以用Ctrl+F5 强制刷新页面


2.分析:

  很显然我遇到的错误是405,即:不允许使用此方法,也就是不允许我使用get方法。但是我明明使用的是post方法啊,接口里
使用@PostMapping注解,前端表单代码里的方法也是post类型的,搞不清楚。


3.解决办法:

将接口里的@PostMapping注解改成@RequestMapping注解,然后将前端代码的post改为get,就行了。


4.遗留问题:

本应该通过接口路径去访问注册页面的:
http://localhost:8080/ems/user/regist 但是用这个路径还是一直报405的错误。

最后用下面的路径(静态路径)访问并注册成功了:
http://localhost:8080/ems/ems/regist.jsp


5.总结:
看来问题还是没有解决,不是get/post的问题。








posted @   sensen~||^_^|||&  阅读(1313)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示