用物件接收get請求傳遞過來的多個引數
阿新 • • 發佈:2019-01-07
最近是跟get請求槓上了,對於需要傳多個引數大多數人都會選擇post請求傳一個物件吧,這樣也更好維護。但是最近公司在去windows化,將原來的.net專案轉成java專案。專案過程中發現很多get請求的介面需要接收多個引數,為什麼不直接用post請求呢?雖然不理解,但是這是前人留下的坑,現在該填還得填。
當然,你可以像這樣:
@RequestMapping(value = "/test", method = RequestMethod.GET) public void test(@RequestParam(required = false) String param1, @RequestParam(required = false) Integer param2, @RequestParam(required = false) String param3, @RequestParam(required = false) String param4 ){ }
但是,作為一個優秀的程式猿是不是應該讓程式碼看起來優雅一點,用一位前輩的話來講,要有工匠精神。
所以,最後我選擇了這樣做:
@RequestMapping(value = "/test", method = RequestMethod.GET)
public void test(@ModelAttribute ParamModel model){
}
這樣是不是看起來更簡潔呢
這裡的ParamModel是自己定義的物件,用來接收get請求傳遞過來的多個引數。@ModelAttribute 是SpringMVC的註解。
不光適用於get請求,同樣也適用於put和delete請求。
希望對需要的小夥伴有所幫助。