1. 程式人生 > >@PathVariable,@RequestParam中的name和value

@PathVariable,@RequestParam中的name和value

@PathVariable中有個屬性value常用,不過裡面還有個name。

如果兩個屬性同時使用會報錯的,今天遇到了記錄一下,從報錯資訊上來看name應該是value的別名,它們兩個中只有一個能被允許存在。name其實就是我們在前臺頁面的表單中input中的name,用來解決前後臺傳入引數不一致的問題。比如前臺通過ajax傳入後臺的引數名是phone,然而後臺想接受的phoneNum並且後臺程式碼都已經寫好了(全部改的話比較麻煩),那麼我們就可以設定name="phone",後臺程式碼不需要改動。不過,name的功能是和alue一樣的,name完全等價於value,使用哪一個,只是個人習慣問題(切記不可同時使用,推薦使用value)。

我們來看一下這兩個屬性的原始碼。

可以看到String value() default""上面有@AliasFor("name"),同樣在String name() default""上面有@AliasFor("value")。所以在兩者是完全等價的。

@RequestParam中的name和value屬性也是完全等價的。關於@RequestParam和@PathVariable的區別請看博主的另一篇。

記得點贊脫單鴨!!!