Получить одну конкретную часть составной части как DTO, а остальные как часть, использующую Spring Webflux?
Я разрабатываю контроллер Spring Webflux, который ожидает несколько "частей" в одном многочастном запросе. Есть только одна обязательная часть, которая известна заранее, а остальные являются динамическими и неизвестными для сервера.
Т.е. я пытаюсь сделать что-то вроде этого (псевдокод не работает):
@RequestMapping(value = "/executesampleservice", method = RequestMethod.POST, consumes = {"multipart/form-data"})
@ResponseBody
public boolean executeSampleService(
@RequestPart("myDto") @Valid MyDto myDto,
@RequestPart Flux<Part> otherParts) {
...
}
Т.е. я бы хотел, чтобы множественная часть называлась myDto
быть сопоставленным с классом MyDto
и остальные части (чьи контрольные имена неизвестны) должны быть сопоставлены otherParts
,
Я знаю, что могу сделать:
@RequestMapping(value = "/executesampleservice", method = RequestMethod.POST, consumes = {"multipart/form-data"})
@ResponseBody
public boolean executeSampleService(@RequestBody Flux<Part> otherParts) {
...
}
но тогда (я думаю) я теряю встроенное преобразование из myDto
к MyDto
класс (т.е. я должен вручную найти часть с именем "myDto" и преобразовать ее в MyDto
класс, и я не уверен, как лучше всего выполнить это преобразование).
Какой рекомендуемый способ решить это? Если мой последний пример - это путь, то как мне конвертировать из Part
в MyDto
не изобретая велосипед?