错误场景:今天使用SpringBoot编写登入和注册的时候一直报错org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'GET' not supported,405,我当时就奇怪了为什么我用Post方法,为什么会出现一个Get请求不被支持
关键代码:
静态页 <body> <form action="/manager/login" method="post"> 用户名:<input name="manname" type="text"/><br> 密码:<input name="manpass" type="password"> <br> <input type="submit" value="登录"> </form> </body> <body> <form action="/manager/regist" method="post"> 用户名:<input name="manname" type="text"/><br> 密码:<input name="manpass" type="password"> <br> <input type="submit" value="注册"> </form> </body>
看了很多博客,各种解决方法
版本问题【这个不好评价】
把POST方法改为Get方法【这个我已经无力吐槽了,POST和GET方法的区别,不懂的萌新自己去查】
最后还是别人的一句评论让我解决了这个方法
将@POSTMapping改为@RequestMapping
附加,一个为什么勉强可以解释为什么可以解决这个问题的原因
@GetMapping
用于将HTTP GET请求映射到特定处理程序方法的注释。具体来说,@GetMapping是一个作为快捷方式的组合注释
@RequestMapping(method = RequestMethod.GET)。
@PostMapping
用于将HTTP POST请求映射到特定处理程序方法的注释。具体来说,@PostMapping是一个作为快捷方式的组合注释@RequestMapping(method = RequestMethod.POST)。
@RequestMapping:
一般情况下都是用@RequestMapping(method=RequestMethod.),因为@RequestMapping可以直接替代以上两个注解,但是以上两个注解并不能替代@RequestMapping,@RequestMapping相当于以上两个注解的父类!