Я пытаюсь вызвать метод REST POST из groovy, с многокомпонентным файлом в качестве параметра.
Ниже приводится мой почтовый вызов -
def response = oauthRestClient.post(
path: "/api/end/point",
headers:['Authorization': "Bearer "+sCtx.accessToken],
){
multipart "file", request?.getFile('file').bytes, "application/zip" //just passing an empty byte array.
multipart "secure_code",secure_code.bytes
}
В наших ресурсах. groovy файл внутри / conf, определено следующее -
oauthHttpClient(wslite.http.HTTPClient) {
connectTimeout = 30000
readTimeout = 30000
useCaches = false
followRedirects = true
sslTrustAllCerts = true
}
oauthRestClient(wslite.rest.RESTClient) {
url = Holders.config."$Holders.config.env".oAuth.baseURL
httpClient = ref('oauthHttpClient')
}
Я получаю следующую ошибку -
path.DashboardController.multipart() is applicable for argument types: (java.lang.String, java.lang.Class, java.lang.String) values: [file, class [B, application/zip]
То же самое происходит, если я пытаюсь использовать множественные, а не составные, поэтому кажется, что составное определение метода вообще не найдено.
Ниже приведено определение в зависимостях BuildConfig. groovy -
runtime 'com.github.groovy-wslite:groovy-wslite:1.1.2'
Я не вижу исходный код импортированные зависимости.
Глядя на https://github.com/jwagenleitner/groovy-wslite, я вижу следующий пример -
def response = client.post() {
// call once for each body-part
multipart 'username', 'antony'.bytes
multipart 'files[myfile.png]', myFile.bytes
// specify content-type and filename
multipart 'inputFile', 'test'.bytes, 'image/png', 'test.png'
}
Обновление
Ранее у меня было wslite: 1.1.0 в зависимостях. Я обновил его до wslite: 1.1.2, так как в него была добавлена поддержка нескольких частей. Я проверил вывод отчета о зависимостях и вижу -
com.github. groovy -wslite: groovy -wslite: 1.1.2
Но все равно получаю ту же ошибку.