第一種方法是最簡單的,嚴重懷疑以前怎麼沒用,誰知道呢。 。不過這次是真的管用了,最簡單的方式就是Controller介面入參不加任何註解! ! ! SpringBoot自動做了處理。程式碼如下:
/** * @author zhangzhixiang * @since v1.0.0 */ @RestController @RequestMapping(path = "/ui/institution") public class InstitutionManagementController { @GetMapping(value = "/pageQueryForAssign") public void pageQueryInstitutionsForAssign(InstitutionQueryDTO queryDTO) { } }
其實重點就是InstitutionQueryDTO旁邊沒有任何註解,這樣前端正常傳Get參數就好,前端傳參格式範例如下:
http://192.168.63.125/ui /institution/pageQueryForAssign?name='xxx'&sex='男'
這裡的name和sex是InstitutionQueryDTO實體中的屬性,SpringBoot會幫我們自動填入實體。
這個寫法是在網路上閱讀文章找到的,這種方法我也記錄一下。
/** * @author zhangzhixiang * @since v1.0.0 */ @RestController @RequestMapping(path = "/ui/institution") public class InstitutionManagementController { @GetMapping(value = "/test") public void test(@ModelAttribute InstitutionQueryDTO queryDTO){ } }
這裡的重點是@ModelAttribute註解,他也會將前端傳過來的參數填入業務實體中,前端傳參格式與方法一相同。
我一年前應該也有透過第一種方式來接受Get請求的參數,但是失敗了沒有接收到,我失敗的原因應該是我的Controller同時接收多個實體入參,所以失敗了。
以上是SpringBoot怎麼用實體接收Get請求傳遞過來的多個參數的詳細內容。更多資訊請關注PHP中文網其他相關文章!