Составной почтовый запрос WebResource

Мне нужно отправить почтовый запрос с помощью java-теста в эту функцию отдыха:

@RequestMapping(value = "/upload", method = RequestMethod.POST)
public @ResponseBody String handleFileUpload(@PathVariable Long ownerId, @RequestBody MultipartFile file,
        HttpServletResponse response) throws IOException {
//Some function
}

это мое испытание:

File file = new File("filePath");
FileDataBodyPart fileDataBodyPart = new FileDataBodyPart("file", file, MediaType.MULTIPART_FORM_DATA_TYPE);
WebResource webResource = createResourceClient("restPath", user);
ClientResponse response = webResource.type(MediaType.MULTIPART_FORM_DATA_TYPE).post(ClientResponse.class, fileDataBodyPart);

и ошибка говорит:

"Текущий запрос не является составным запросом"


person Yara Ameen    schedule 11.02.2016    source источник
comment
Я не проверял, но не уверен, что вы можете отправить FileDataBodyPart отдельно. Возможно, вам придется обернуть его в MultiPart. См. эту публикацию для примера того, что я имею в виду.   -  person Paul Samsotha    schedule 11.02.2016
comment
Спасибо большое все работает :))   -  person Yara Ameen    schedule 14.02.2016
comment
Возможный дубликат Jersey REST Client: отправка данных MultiPart   -  person J. Chomel    schedule 17.03.2017


Ответы (1)


Приведенный ниже фрагмент кода отправит и файл, и ContentDispostion в REST API.

FormDataBodyPart formPart = new FormDataBodyPart(FormDataContentDisposition.name("file").fileName("YourFileName").build(),
            inputStream,MediaType.APPLICATION_OCTET_STREAM_TYPE);

    MultiPart multipart = new FormDataMultiPart().bodyPart(formPart);
    resource = resource.path("Your Rest api path");
ClientResponse response = resource.type(MediaType.MULTIPART_FORM_DATA).post(ClientResponse.class, multipart);
person Nageswara Rao Maridu    schedule 17.03.2017