public def getInfo(String A, String B, String C, String D, String E) {
def response = null;
def requestHeaders = ['A': A, 'B' : B]
requestHeaders << headers
Map uriVariables = [C : C, D : D, start: 1, end: 10, E: E]
try {
response = restMethod.get(getInfo, uriVariables, requestHeaders, [:])
if(!response) {
return null;
}
} catch (e) {
logger.error("Error getting data", e)
}
return response?.data ? response?.data : null
}
然后我编写了另一个功能来测试API从Swaggerui therna
@CrossOrigin
@RequestMapping(method = RequestMethod.GET, path = '/getInfo')
def getInfoTest(@RequestHeader('A') String A, @RequestHeader('B') String B, @RequestHeader('C') String C, @RequestHeader('D') String D, @RequestHeader('E') String E) {
infoResponse = InfoRestClient.getInfo(A, B, C, D, E)
return infoResponse
}
当我打电话时,我得到了这个错误:
groovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.util.LinkedHashMap#LleftShift.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[interface java.util.Map]
[interface java.util.Map$Entry]
i试图处理
getInfoTest
的参数,但这一切都返回到相同的错误。我已经检查过,一些较旧的帖子说,由于具有相同名称的功能不同,因此造成了此错误,但是我只有1个功能。有人有类似的问题吗?您是如何解决的?非常感谢您!
当您在代码中使用
.leftShift()
<<
,错误指出, 您正在用无效的论点来称呼它(在多态性中失败 调度,因此错误)。
,那是在地图上添加“无”的添加,不会做任何您可以做的任何事情 在这种情况下阻止添加。 例如
requestHeaders << headers