我碰到問題的情況
- 前端點擊發送驗證碼按鈕,IDEA控制檯出現
WARN 1776 --- [nio-8888-exec-2] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported]
- 項目剛啓動點擊驗證碼會出現這個。
如果先登錄,頁面後退,最後點擊發送驗證碼,就不會出現這種情況。 - 面向百度搜索無果。不是前端post和get的問題,controller也寫了postmapping。
解決步驟
- 先用postman判斷,是後端出現了問題嗎?
可以看到,用postman提交post請求也是同樣的問題。說明是後端的問題 - 是接口沒有指明提交方法嗎?
我把@PostMapping("/sendEmail")改成了
@RequestMapping(value = “/sendEmail”,method = RequestMethod.POST)
@RequestMapping(name= “/sendEmail”,method = RequestMethod.POST)
兩種都沒有效果 - 分析爲什麼會產生 “必須登錄並退後才能提交驗證碼請求" 的情況。
這個時候需要靜下心來,不要急,睡一覺能解決很多事情23333。
解決方法
我碰到問題的情況可能比較特殊,但是方法很簡單。就是攔截器的問題,項目之前寫了攔截器,實現了必須login給session才能進入。
這時候需要把sendEmail寫到忽略攔截中。
以上就搞定啦。
總結一下,碰到問題不要慌,面向百度搞不定,就先去睡一覺。明天起來就知道問題了。