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

Springcloud Netflix外挂参数订单

司空默
2023-03-14

有什么原因可以解释为什么我得到一个编译错误(Body参数不能与表单参数一起使用),当声明一个模拟接口方法时,像这样:

1) foo(@PathVariable("pathVariableName") String pathVariable, 
       @RequestBody List<String> anyVariable)

但是当我使用这个(切换参数顺序)时,一切都很好:

2) foo(@RequestBody List<String> anyVariable, 
       @PathVariable("pathVariableName") String pathVariable)

在目前的项目中,所有其他的外来方法都能以前一种形式很好地工作。我不知道这些信息是否重要,但这是我唯一尝试使用带有@RequestBody参数注释的列表。

参数的顺序在这里像这个答案一样重要吗?在这种情况下,在哪些情况下我应该注意参数顺序?虚假文档似乎像我遇到问题时那样使用它。

顺便说一下:在尝试运行应用程序之前,在成功编译后,我停止了几分钟的项目,在这里发布了这个。我真的不确定上面的第二种方法在运行时是否正常。它只是通过了编译阶段,没有错误。

编辑:这不是真正的编译错误。该错误发生在springstart应用程序的启动过程中。

共有1个答案

吕奇
2023-03-14

你需要检查你的url模板字符串。如果url中不包含{pathVariableName}@PathVariable(“pathVariableName”)将被视为表单参数。在外文中,表单参数不能在同一方法中与主体参数(@RequestBody)一起使用。这就是为什么会抛出异常。

在第二种情况下,当validation@RequestBody注释时,faign不知道第二个参数是否存在,该参数将被视为表单参数。所以现在它不会抛出任何异常。我不确定这是否是故意的行为,但可能是验证错误。

 类似资料:
  • 还在回家的路上,绝影就发短信把辞职的事情告诉了大爷,原以为大爷在四川等自己辞职等了这么久,收到消息肯定欣喜若狂。但事情往往就是这样,你没有女朋友的时候想有个女朋友,但当你费尽千辛万苦台词排练了几百遍终于半骗半哄有了一个女朋友的时候,你才发现有个女朋友也不过就是那个样子,甚至有时候还不如一个人单身过。 大爷还是用那副面孔对着绝影:“辞了?” “辞了。那天谈判,我第一句话就是‘陈董,我决定离开公司’。

  • 我想要一个mysql查询,以获得我所有的订单挂起状态。有人知道怎么做。 我在WoodPress网站上使用woocommerce,但我只希望mysql查询不带wordpress函数。 谢啦

  • //这里应该去什么?

  • 在我的帐户页面/视图订阅中,在操作段落中,我有一个取消按钮,但没有挂起按钮。你知道这是否正常吗? 我跟踪了这个函数,它只返回取消数据:wcs_get_all_user_actions_for_subscription 谢谢你的帮助

  • 我从sqlite数据库中获取一些数据,在添加order by子句之前,我的查询工作正常 我的查询结构如下 选择*从测试,其中测试像'%test%'COLLATE NOCASE LIMIT 100 OFFSET 0 这运行得很好,我在数据库的前100行获得了包含单词test的所有记录,但是当我以这种方式添加ORDER BY子句时 选择*从TESTI,其中TESTO喜欢'%test%'COLLATE

  • 问题内容: 大家好!长话短说,如果您不介意向这个新手PHPer伸出援手的话。:) 我有一个名为“类别”的数据库字段,其中存储有以下内容: 我在数据库中还有一个单独的表,其中每个项目的字段中都有具有这些类别名称的项目。现在,该脚本(我想对其进行分叉)使用: 为了显示所有可用类别的列表。很简单吧? Welllllll .....我不想按ASC排序,我想按我提到的第一个Categories字段中的项目列