spring - 使用 Get 方法 @QueryParam 将枚举列表传递给 Spring REST
问题描述
我正在使用 Spring,我需要使用 GET 方法传递一个包含枚举值的列表。是否可以将 @QueryParam 用于 List ?如果是,那么我们如何以及如何通过 url 发送它。
我使用@QueryParam List enumValues 并通过 url 作为 enumValues=value1&enumVales=value2 发送数据。
但我收到以下错误:
org.springframework.beans.BeanInstantiationException:无法实例化[java.util.List]:指定的类是一个接口
请帮忙!
解决方案
您正面临这个问题,因为您正在使用@QueryParam
带有 spring 的 JAX-RS 注释。Spring 不符合 JAX-RS 框架,它们是完全不同的两个 MVC 框架。如果你更喜欢使用 Spring annotation @RequestParam
,配置很简单,它会为你创建 Enum 列表:
- 您的查询参数将如下所示:
enumValues=value1&enumVales=value2
- 您的春季 RequestMapping 将如下所示:
@RequestParam(value="enumValues")List<EnumValues> enumValues
推荐阅读
- html - 无法在 django 应用程序中下载 pdf 文件?
- r - 如何在 R 中优化具有多个返回值的函数
- visual-studio-code - VS Code - 折叠代码块时隐藏右括号
- javascript - 使用正则表达式将字符串中的两个 delemeter 拆分后获取中间部分
- asp.net - 通过 ajax 调用 webmethod 时发生 500 内部服务器错误。这仅在实时服务器中发生,在 localhost 中工作正常
- google-cloud-platform - FAILED_NOT_VISIBLE 负载平衡中由 Google 管理的 SSL 证书
- java - 有没有什么简单的方法可以在按下特定按钮后重新运行方法/程序?
- javascript - 将变量内插为组件模板的内联样式参数?
- pandas - 高效的 Dataframe 列(对象)到 DateTime 的转换
- gitlab-ci - 如何使用 lftp 删除除 cgi-bin 和 .ftpquota 之外的所有文件