Я ищу решение для создания Spring Cloud Contract для следующих сервисов отдыха, оно позволяет загружать несколько файлов с одинаковым именем параметра:
@PostMapping(value = "/uploadFiles")
public ResponseEntity uploadFiles(@RequestParam("files") MultipartFile[] files) {
// some code...
}
Я пробовал следующее решение, но ононе работает
org.springframework.cloud.contract.spec.Contract.make {
request {
method 'POST'
url $(c('/uploadFiles'))
headers {
header 'Content-Type': $(c(regex('application/json.*')), p('application/json;charset=UTF-8'))
}
multipart(
files: [
named(
name: $(c(regex(nonEmpty())), p('file1.bin')),
content: $(c(regex(nonEmpty())), p('BINARY DATA')),
contentType: $(c(regex(nonEmpty())), p('application/octet-stream')),
),
named(
name: $(c(regex(nonEmpty())), p('file2.bin')),
content: $(c(regex(nonEmpty())), p('BINARY DATA')),
contentType: $(c(regex(nonEmpty())), p('application/octet-stream')),
)
]
)
}
response {
status OK()
}
}
Я думаю, что Spring Cloud Contract не позволяет отправлять несколько значений с одним и тем же именем параметра запроса!Что ты думаешь?