2016-08-20 7 views
1

Я пытаюсь создать метод, который принимает одинаковый запрос типа multipart/form-data и application/json. Я использую Spring Rest для создания того же. Но вызов не доходит до метода, когда я просил у Fiddler. Пожалуйста, помогитеМногопользовательский режим с JSON в весеннем отдыхе не работает

Сервисный метод

@RequestMapping(value = "/", method = RequestMethod.POST, produces = "application/json",consumes = "multipart/form-data") 
public ResponseEntity<JSONObject> addField(@RequestParam int customerId,@RequestParam int teId, 
     @RequestPart("file") List<MultipartFile> multipartFiles, @RequestParam("toast") String toast, MultipartHttpServletRequest request){ 

Скрипач

Заголовок

Content-Type: multipart/form-data; boundary=HereGoes; 

тела

Content-Type: application/json 

---------------------------acebdf13572468 
    Content-Disposition: form-data; name="fieldNameHere"; filename="file1.pdf" 
Content-Type: application/pdf 

    <@INCLUDE *C:\Users\User\Desktop\file1.pdf*@> 
---------------------------acebdf13572468-- 

ответ

2

Добавьте правильное имя файла в запрос органа скрипача. В вашем методе это @RequestPart («файл»). Поэтому используйте «файл» в поле «имя» вместо «fieldNameHere», который генерируется скриптом. Тело запроса должно выглядеть следующим образом.

---------------------------acebdf13572468 
Content-Disposition: form-data; name="file"; filename="file1.pdf" 
Content-Type: application/pdf 

<@INCLUDE *C:\Users\User\Desktop\file1.pdf*@> 
---------------------------acebdf13572468-- 
+0

@abghel Спасибо за ответ. Да, я уже заметил эту проблему и попробовал ее без везения. – t10011

+0

Какая ошибка вы получаете? Можете ли вы попробовать позвонить в службу, используя curl? – abaghel

+0

@abghel Я, наконец, заработал. Это была проблема с RequestParam, который я использовал. Поскольку он не упоминался в URI, услуга не вызывалась. В журналах ошибок не было, но было возвращено 404. Спасибо за помощь. отметив ответ как принятый, так как вы указали на проблему. – t10011