SpringBoot接收GET请求中的数组、Map集合参数

本文主要有以下内容:

  1. SpringBoot 如何接收HTTP Get请求中的数组参数?

  2. [java.lang.IllegalStateException: No primary or default constructor found for interface java.util.List] 报错如何解决?

一、SpringBoot2.2.4接收数组参数

需要配合使用 @RequestParam注解

注: 如果你使用 Domain对象,则没有这个限制。

@GetMapping("/api/foos")
@ResponseBody
public String getFoos(@RequestParam List id) {
    return "IDs are " + id;
}

验证结果: 
http://localhost:8080/api/foos?id=1,2,3
----
IDs are [1,2,3]

参考连接

  • RequestParam注解(baeldng 是一个 spring学习网站,有很多资料可以学习)

  • SpringBoot 接收List参数

二、SpringBoot接收数组参数报错

[java.lang.IllegalStateException: No primary or default constructor found for interface 
 java.util.List]

Caused by: java.lang.NoSuchMethodException: java.util.List.()
    at java.lang.Class.getConstructor0(Class.java:3082)
    at java.lang.Class.getDeclaredConstructor(Class.java:2178)
    at org.springframework.web.method.annotation.ModelAttributeMethodProcessor.createAttribute(ModelAttributeMethodProcessor.java:216)

解决方案:

原因就是没有使用 @RequestParam注解

报错参考链接:
SpingBoot参数接收List数组报错

你可能感兴趣的:(SpringBoot2.x,Quick,Start,SpringBoot2.x)