首頁 >Java >java教程 >SpringBoot怎麼用實體接收Get請求傳遞過來的多個參數

SpringBoot怎麼用實體接收Get請求傳遞過來的多個參數

WBOY
WBOY轉載
2023-05-19 18:01:063279瀏覽

一、Controller層不帶任何註解接收參數

第一種方法是最簡單的,嚴重懷疑以前怎麼沒用,誰知道呢。 。不過這次是真的管用了,最簡單的方式就是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會幫我們自動填入實體。

二、Controller層透過@ModelAttribute接收參數

這個寫法是在網路上閱讀文章找到的,這種方法我也記錄一下。

/**
 * @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中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除