在我的控制器中,我有一個由 GetMapping 注釋的方法,我想驗證路徑變數。我測驗了@max 和@min。他們沒事。但問題是當我想檢查什么時候沒有傳遞路徑變數時,我得到 404 錯誤代碼。這意味著我想測驗這樣的案例:
http://localhost:9090/api/mancala-game/last-state/
最后一個 / 之后什么都沒有。
我想在我的 ExceptionHandler 類中獲取例外。
有任何想法嗎?謝謝
uj5u.com熱心網友回復:
我認為http://localhost:9090/api/mancala-game/last-state/和
http://localhost:9090/api/mancala-game/last-state/{key}是兩個api。
你可以創建/last-state和/last-state/{key}
uj5u.com熱心網友回復:
你應該在它自己的 url 中發送路徑變數,否則你會拋出 404 錯誤。當您不發送路徑變數時,它將是不同的 API:在您的情況下:http://localhost:9090/api/mancala-game/last-state/ 并且此 url 未指向控制器中的任何處理方法,所以你會得到404錯誤。
uj5u.com熱心網友回復:
您要做的是**在 REST 端點的末尾添加一個通配符,api/mancala-game/last-state/在您呼叫antMatchers()此 REST 端點的方法的位置。例如:
.authorizeRequests().antMatchers(HttpMethod.GET, "api/mancala-game/last-state/**").permitAll() //Other antMatchers after this..
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/444868.html
上一篇:無法將java.lang.String轉換為com.fasterxml.jackson.databind.MapperFeature
