【发布时间】:2015-11-02 14:06:57
【问题描述】:
我正在创建一个 REST Web 服务,并且我想使用一个 json/xml 对象。我正在使用球衣,当我尝试发布请求时,我得到一个 415 错误不支持的媒体类型。 这是pom依赖
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.22</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-multipart</artifactId>
<version>2.22</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.22</version>
</dependency>
web.xml
servlet>
<servlet-name>jersey-serlvet</servlet-name>
<servlet-class>
org.glassfish.jersey.servlet.ServletContainer
</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>
provider packages
</param-value>
</init-param>
<init-param>
<param-name>jersey.config.server.provider.classnames</param-name>
<param-value>
org.glassfish.jersey.media.multipart.MultiPartFeature;
org.glassfish.jersey.server.filter.RolesAllowedDynamicFeature,
org.glassfish.jersey.jackson.JacksonFeature
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jersey-serlvet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
和网络服务
@POST
@Path("FooPath")
@Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
public void insertFoo(FooClass fc){
System.out.println(fc.getFoo());
}
谁能帮帮我?
【问题讨论】:
-
那么您如何发布请求?它的内容类型可能不是 xml 也不是 json。
-
为了测试,我使用 html 页面发布请求。这是一个具有此值的简单表单 method="post" enctype='application/json'
标签: java json web-services rest