我正在尝试从后端(春季)向后端(球衣)发送一些混合数据 要发送的数据混合在一起:对象,文件。 我不断收到此错误:
javax.ws.rs.ProcessingException:对于类“ ClassContainsAllMixedData”和媒体类型“ multipart / mixed”,没有可用的MessageBodyWriter。
这是我发送请求并等待响应的部分:
try(MultiPart multiPart = new MultiPart()) {
multiPart
.bodyPart(new BodyPart(ClassContainsAllMixedData, MediaType.APPLICATION_JSON_TYPE))
.bodyPart(
new BodyPart(file,
MediaType.APPLICATION_OCTET_STREAM_TYPE))
.bodyPart(
new BodyPart(fileInfos,
MediaType.APPLICATION_JSON_TYPE));
Response response = client.target(API_URI)
.request(MediaType.APPLICATION_JSON)
.post(Entity.entity(multiPart, multiPart.getMediaType()));
System.out.println(response);
}catch (ProcessingException ex){
System.out.println(ex);
}
我从不显示响应,因为响应失败。
这些是我使用的依赖项:
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-multipart</artifactId>
<version>2.6</version>
</dependency>
答案 0 :(得分:1)
问题出在依赖性版本上,我通过删除版本标记来解决它,并让pom自动获得正确的版本(2.7)
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-multipart</artifactId>
</dependency>