当前位置: 首页 > 知识库问答 >
问题:

Spring Cloud Feign Client@RequestParam with List参数创建了一个错误的请求

明星剑
2023-03-14
@RequestMapping(method = RequestMethod.GET, value = "/search/findByIdIn")
Resources<MyClass> get(@RequestParam("ids") List<Long> ids);
feignClient.get(Arrays.asList(1L,2L,3L))

根据我在调试器中看到的情况,feign-core库形成以下请求:

/search/findByIdIn?ids=1&ids=2&ids=3

而不是预期的

/search/findByIdIn?ids=1,2,3

这对于服务器Spring Data RESTendpoint来说是正确的,其声明方式与我的Feign客户端方法相同。

因此,由于这个问题,请求总是返回空集。

  • spring-cloud-starter-feign版本1.2.4。发布
  • 假装-HttpClient版本9.4.0
  • Feign-Core版本9.4.0

是否有一种方法来纠正这种行为,并将Spring Cloud假客户机与Spring Data REST定义的endpoint“联姻”?

共有1个答案

谭泉
2023-03-14

我也有同样的问题,多次出现参数,而不是预期的逗号分隔的项序列。解决方法非常简单:

在我的假客户端中,我使用了数组

FeignClient.Get(new long[]{1L,2L,3L})

 类似资料:
  • 每当页面尝试提交2MB或更大的文件时,都会发生此错误。但是参数在帖子里!我已经检查了Chrome开发工具。有人知道这个错误吗?Springboot 2.0.3。释放

  • 我正试图与Featuretools合作,为客户流失数据集开发一个自动化的特征工程工作流。最终结果是一个函数,它接收数据集并为客户标记时间,并构建可用于训练机器学习模型的特征矩阵。 作为本练习的一部分,我尝试执行以下用于绘制直方图的代码,并得到“TypeError:import_optional_dependency()得到一个意外的关键字参数'errors'”。请帮助解决此类型错误。 以下是我收到

  • 这里变量x(在主)的值是6,这是正确的,但当我写同样的事情在system.out.println== 当我尝试在print语句中放入x时,它工作得很好。但我想知道它给出错误的原因。 错误:

  • 请查看以下代码: 结果是这样的: http://localhost:5000/Account/Register?userId=614d16ae-4e95-4796-8d67-cb829e12585b 登记册从哪里来?为什么不是帐户/确认邮件?我确实在Account controller的Register方法中创建了这个,所以我想Register来自那里,但为什么它会使用它,而不是我传入的?我确实看

  • 我正在为MariaDB中的拆分字符串创建一个过程,但它给出了一个错误 “#1064-您的SQL语法有错误;请查看与您的MariaDB服务器版本相对应的手册,以了解使用近‘TRUNCATE TABLE的正确语法。”

  • 问题内容: 我正在尝试通过IntelliJ IDEA的jar工件将使用OptaPlanner 6.0.1库的项目打包到.jar中,而不是将我的manifest.mf包含标准 jar使用ecj-3.7.2.jar中提供的一个,这是OptaPlanner的支持库之一: 因此,尝试运行该应用程序时会发生错误。如果我手动将.jar文件中的清单替换为我的清单,则一切正常。有什么我可以解决的吗? 我将这些库保