当我使用 sonar lint 扫描代码时,以下代码将错误显示为“方法有 8 个参数,大于 7 个已授权”
@PutMapping("/something")
public List<SomeList> updateSomeThing(@PathVariable final SomeCode code,
@PathVariable final SomeId id,
@PathVariable final String testId,
@PathVariable final String itemId,
@RequestBody final List<Test> someList,
@RequestHeader("test") final String testHeader,
final HttpServletRequest request,
final SomeHeaders someHeaders)
注意:这是一个控制器方法,我们不能跳过任何参数
仅供参考:Eclipse 将快速修复显示为 squid:S00107
任何人都知道如何解决这个错误?
原文由 Baji Shaik 发布,翻译遵循 CC BY-SA 4.0 许可协议
这里有两件事需要考虑。
UPD :以下建议基于旧问题版本。它可能不再适用于新的问题上下文。
在您的特定示例中,我希望您可以拥有一个聚合类
Order
:管理而不是处理许多参数是合乎逻辑的。然后您的问题将自动解决: