Я пытаюсь отправить с jquery ajax в Spring Rest Controller изображение и данные объекта.
Первоначальная реализация этого метода размещала только данные json, которые были преобразованы в мой объект. Я сейчас пытаюсь опубликовать изображение вместе с JSON. Данные изображения привязывают изображение в моем методе контроллера. Данные json не преобразуются.
@RequestMapping(value = "/buildKit", method = RequestMethod.POST)
@ResponseBody
public KitView buildKit(@RequestParam(value = "kitData", required = true)
KitTagIventoryDataList inventoryData, @RequestParam(value = "image", required = false)
MultipartFile image, @ModelAttribute(COMMAND_NAME) KitTagCommand command) {
приводит к ошибке:
Caused by: java.lang.IllegalStateException: Cannot convert value of type [org.springframework.web.multipart.commons.CommonsMultipartFile] to required type [com.blah.blah.webapp.spring3mvc.controller.KitTagIventoryDataList]: no matching editors or conversion strategy found
Изменение сигнатуры метода для использования @RequestPart вместо @RequestParam для части запроса json / object
не приводит к ошибке, но объект KitTagInventoryDataList содержит нулевые значения для всех свойств.
Полезная нагрузка запроса размещается с помощью jquery ajax:
-----------------------------22184201846440
Content-Disposition: form-data; name="kitData"; filename="blob"
Content-Type: application/json; charset=utf-8
{"serialId":"E20020839511008814907AB5","note":"box of notes","data":[{"id":"39212","qty":"0"},{"id":"39215","qty":"0"}]}
-----------------------------22184201846440
Content-Disposition: form-data; name="image"; filename="blob"
Content-Type: image/png
PNG
Как я уже говорил, сработало отображение на @RequstBody и размещение только данных json / object (без изображения).
Мысли? В этот момент я чувствую, что мне не хватает какой-то глупой мелочи.