天天看點

用對象接收get請求傳遞過來的多個參數

最近是跟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請求。

希望對需要的小夥伴有所幫助。