首页 文章

在请求URL中获取相同参数名称的多个值 - Spring引导

提问于
浏览
0

在我的 Spring 季启动应用程序中,请求来自客户端,其中包含以下URL . localhost:8080/api/invoice?invoiceNo=1234&invoiceDate=050218&invoiceNo=6543&invoiceDate=060218

如何获取请求属性invoiceNo和invoiceDate的值 . 我知道在构建URL并获取URL时我们总是可以使用一些分隔符 . 我想知道是否有任何springboot方式来实现这一目标 . 任何帮助深表感谢 . 现在,当我尝试 request.getParameter("invoiceNo") 时,我只得到第一个参数 .

3 回答

  • 0

    正如@maruthi所提到的 request.getParameterValues("invoiceNumber") 是单向的 . 另一种方法是添加 @RequestParam(value="invoiceNo", required=false) List<String> invoiceNo 作为控制器方法参数 .

  • 1

    在Spring中,您可以使用控件的 endpoints 方法中的注释 @RequestParam 来获取查询参数,如下所示:

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

    您可以在docs中看到此批注可以获得的其他值(如required,default等)

  • 0

    使用List

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

相关问题