1. 程式人生 > >用物件接收get請求傳遞過來的多個引數

用物件接收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請求。

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