使用 Get 方法 @QueryParam 将枚举列表传递给 Spring REST

Passing a List of Enum to Spring REST using Get method @QueryParam

我正在使用 Spring,我需要使用 GET METHOD 传递一个由枚举值组成的列表。是否可以将 @QueryParam 用于 List ?如果是,那么我们如何以及如何通过 url 发送它。

我使用@QueryParam List enumValues 并通过url 发送数据作为enumValues=value1&enumVales=value2。

但我收到以下错误:

org.springframework.beans.BeanInstantiationException: 实例化失败 [java.util.List]: 指定 class 是接口

请帮忙!

您遇到此问题是因为您将 JAX-RS 注释 @QueryParam 与 spring 一起使用。 Spring不符合JAX-RS框架,完全是两个不同的MVC框架。如果你宁愿使用 Spring 注释 @RequestParam,配置很简单,它会为你创建枚举列表:

  • Your query parameters will look like this: enumValues=value1&enumVales=value2
  • Your spring RequestMapping will look like: @RequestParam(value="enumValues")List<EnumValues> enumValues