Я пытаюсь отправить некоторые форматы вместе с несколькими файлами через Jersey REST Client.У меня есть следующие зависимости, добавленные для клиента-джерси:
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-multipart</artifactId>
<version>1.9</version>
</dependency>
Мой метод POST Controller выглядит следующим образом:
@RequestMapping(value = "/formdata/submit", method = RequestMethod.POST)
public String postFormData(@ModelAttribute String formData,
@RequestParam("file) MultipartFile file, Model model, HttpServletRequest
request, HttpServletResponse response)
{
try
{
ObjectMapper mapper = new ObjectMapper();
String jsonData = mapper.writeValueAsString(formData);
String postUrl = getPostUrl();
ClientConfig config = new DefaultClientConfig();
com.sun.jersey.api.client.Client client =
com.sun.jersey.api.client.Client.create(config);
WebResource webResource = client.resource(postUrl);
ClientResponse responseMsg = webResource
.queryParam("jsonData", jsonData)
.queryParam("file", file.toString())
.post(ClientResponse.class);
}
catch (Exception e)
{
return "error";
}
return "success";
}
Мой REST-контроллер Spring Spring MVC, который принимает составной файл, следующим образом:
@Consumes(MediaType.MULTIPART_FORM_DATA)
@RequestMapping(value = "/save-comment", method = RequestMethod.POST)
public String addComment(@FormDataParam("jsonData") String jsonData,
@FormDataParam("file") MultipartFile file, ModelMap model)
{
//My Logic to save file and data
}
В моем сообщении клиента из Джерси выдается ошибка, когда я пытаюсь опубликовать данные вместе с файлом в методе Spring MVC REST Controller.
Ошибка, которую я получаю:
<!DOCTYPE html><html><head><title>Apache Tomcat/8.0.32 - Error report</title><style type="text/css">H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}.line {height: 1px; background-color: #525D76; border: none;}</style> </head><body><h1>HTTP Status 500 - Request processing failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [[Lorg.springframework.web.multipart.MultipartFile;]: No default constructor found; nested exception is java.lang.NoSuchMethodException: [Lorg.springframework.web.multipart.MultipartFile;.<init>()</h1><div class="line"></div><p><b>type</b> Exception report</p><p><b>message</b> <u>Request processing failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [[Lorg.springframework.web.multipart.MultipartFile;]: No default constructor found; nested exception is java.lang.NoSuchMethodException: [Lorg.springframework.web.multipart.MultipartFile;.<init>()</u></p><p><b>description</b> <u>The server encountered an internal error that prevented it from fulfilling this request.</u></p><p><b>exception</b></p><pre>org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [[Lorg.springframework.web.multipart.MultipartFile;]: No default constructor found; nested exception is java.lang.NoSuchMethodException: [Lorg.springframework.web.multipart.MultipartFile;.<init>()
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:978)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:868)
javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)
Мне нужно опубликовать данные формы с помощью составного файла с использованием com.sun.jersey. Мне удалось найти несколько предложений с использованием org.glassfish.jersey.СМИ, но не то, что я ищу.