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的问题。









免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM