Web services 415通过邮递员将文件上载到Webservice时出现不支持的媒体类型错误
我使用Jersey Restful API创建了一个web服务,我有以下几点:Web services 415通过邮递员将文件上载到Webservice时出现不支持的媒体类型错误,web-services,jersey,postman,Web Services,Jersey,Postman,我使用Jersey Restful API创建了一个web服务,我有以下几点: @POST @Path("/process/") @Consumes({MediaType.MULTIPART_FORM_DATA}) @Produces({MediaType.APPLICATION_JSON}) public Response process(@FormDataParam("upload") InputStream is, @FormDataParam("upload") FormDataCont
@POST
@Path("/process/")
@Consumes({MediaType.MULTIPART_FORM_DATA})
@Produces({MediaType.APPLICATION_JSON})
public Response process(@FormDataParam("upload") InputStream is, @FormDataParam("upload") FormDataContentDisposition formData);
我使用了以下依赖项:
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1-m01</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.sun.jersey.contribs/jersey-multipart -->
<dependency>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-multipart</artifactId>
<version>1.8</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.glassfish.jersey.core/jersey-server -->
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.8</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.ws.rs/jsr311-api -->
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>jsr311-api</artifactId>
<version>1.1.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3</version>
</dependency>
我已经参考了google上的几个示例,比如,我看到我已经正确地提供了参数,但是我仍然在Postman中得到415个不支持的媒体类型错误。我在这个项目中还有其他几个web服务,它们使用MediaType应用程序/json,因此项目配置不应该成为问题
谁能解释一下这里出了什么问题吗
更新:添加了与所使用的所有jersey和WS相关依赖项以及web.xml文件中重要内容相关的其他详细信息。这可能是Postman中的问题,而不是您的代码。我也有这个问题 尝试删除内容类型标题,并确保在“正文”选项卡中选择“表单数据”:
这可能是邮递员的问题,而不是你的代码。我也有这个问题 尝试删除内容类型标题,并确保在“正文”选项卡中选择“表单数据”:
三件事。1.你用的是什么版本的球衣?2.你能显示你的依赖关系吗。3.你能展示一下应用程序配置吗?Jersey-multipart:1.19.4,Jersey core:1.19.4。我在一个现有的项目中这样做,其中有几个其他web服务已经在使用MediaType应用程序/json。如果你需要更多的细节,让我知道,我会尽量提供更新你的帖子,并将所有的请求信息。不要把它放在评论里。谢谢。更新的问题有更多的细节,谢谢。你能发布所有与泽西岛相关的依赖项吗。您还可以发布您的应用程序配置,无论是web.xml还是Java config,以及您使用的服务器是什么?三件事。1.你用的是什么版本的球衣?2.你能显示你的依赖关系吗。3.你能展示一下应用程序配置吗?Jersey-multipart:1.19.4,Jersey core:1.19.4。我在一个现有的项目中这样做,其中有几个其他web服务已经在使用MediaType应用程序/json。如果你需要更多的细节,让我知道,我会尽量提供更新你的帖子,并将所有的请求信息。不要把它放在评论里。谢谢。更新的问题有更多的细节,谢谢。你能发布所有与泽西岛相关的依赖项吗。您还可以发布您的应用程序配置(无论是web.xml还是Java config)以及您使用的服务器吗?@Cdeez您是否尝试使用其他客户端进行测试?@Cdeez您是否尝试使用其他客户端进行测试?
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/ws-context.xml</param-value>
</context-param>
<bean id="restManagerService" class="com.rs.service.impl.RestManagerServiceImpl">
<property name="restRequestService" ref="restRequestService" />
</bean>
<bean id="jsonProvider" class="com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider" />
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="100000" />
</bean>
<jaxrs:server id="userManagerREST" address="/rest/v1">
<jaxrs:serviceBeans>
<ref bean="restManagerService" />
</jaxrs:serviceBeans>
<jaxrs:providers>
<ref bean='jsonProvider' />
<ref bean='multipartResolver' />
<bean class="com.rs.exception.ExceptionHandler" />
</jaxrs:providers>
</jaxrs:server>
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryxxxxxxxxx
------WebKitFormBoundaryxxxxxxxxx
Content-Disposition: form-data; name="upload"; filename="test.json"