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

使用Get方法@QueryParam将枚举列表传递给Spring REST,spring,list,enums,get,queryparam,Spring,List,Enums,Get,Queryparam,我正在使用Spring,需要使用GET方法传递一个由枚举值组成的列表。是否可以将@QueryParam用于列表?如果是,那么我们如何通过url发送 我使用@QueryParam列出enumValues,并通过url将数据发送为enumValues=value1&enumVales=value2 但我得到了以下错误: org.springframework.beans.beans实例化异常:未能实例化[java.util.List]:指定的类是接口 请帮忙 您正面临这个问题,因为您将JAX-RS注

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

我使用@QueryParam列出enumValues,并通过url将数据发送为enumValues=value1&enumVales=value2

但我得到了以下错误:

org.springframework.beans.beans实例化异常:未能实例化[java.util.List]:指定的类是接口


请帮忙

您正面临这个问题,因为您将JAX-RS注释
@QueryParam
与spring一起使用。Spring不符合JAX-RS框架,它们是完全不同的两个MVC框架。如果您更愿意使用Spring annotation
@RequestParam
,那么配置很简单,它将为您创建枚举列表:

  • 您的查询参数如下所示:
    enumValues=value1&enumVales=value2
  • 您的spring RequestMapping将如下所示:
    @RequestParam(value=“enumValues”)列出enumValues

很高兴能够提供帮助。嘿..但是为什么QueryParam可以很好地处理简单的字符串和整数变量,我正在通过同一个链接传递这些变量,但会给列表带来麻烦?Spring与JAX-RS不完全兼容,可能支持一些基本特性/注释。但这是一条直截了当的规则,如果您使用springrest/MVC开发,请使用springannotation&如果您使用Jersey框架开发以下JAX-RS,请使用JAX注释。使用Spring,您甚至不应该在类路径中有
javax.ws.rs
包,这不是必需的。