簡體   English   中英

在請求URL中獲取相同參數名稱的多個值-Spring Boot

[英]Get multiple values for same parameter name in request URL - Spring boot

在我的Spring Boot應用程序中,來自客戶端的請求帶有以下URL。 localhost:8080/api/invoice?invoiceNo=1234&invoiceDate=050218&invoiceNo=6543&invoiceDate=060218

如何獲取請求屬性invoiceNo和invoiceDate的值。 我知道我們在構建URL並獲取它時總是可以使用一些定界符。 我想知道是否有任何springboot方式來實現這一目標。 任何幫助深表感謝。 現在,當我嘗試request.getParameter("invoiceNo")我只會得到第一個參數。

使用清單

public void invoice(@RequestParam(name="invoiceNo") List<String> invoiceNos, @RequestParam(name="invoiceDate") List<String> invoiceDates) {

正如@maruthi提到的, request.getParameterValues("invoiceNumber")是一種方法。 另一種方法是添加@RequestParam(value="invoiceNo", required=false) List<String> invoiceNo作為控制器方法參數。

在春季,您可以通過在控制器的端點方法內使用注釋@RequestParam來獲取查詢參數,如下所示:

@GetMapping("/invoice")
public CustomResponse getInvoiceData(
        @RequestParam(value="invoiceNo") List<Long> invoiceNoList,
        @RequestParam(value="invoiceDate", required = false) List<Date> invoiceDateList){
    ...
}

您可以在文檔中看到此批注可以獲取的其他值(例如必填,默認值等)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM