0

大家好,我正在通过 websphere 的内置 jax-rs 托管一个宁静的 web 服务。一切似乎都很好。但是当我尝试返回一个 json 响应时,它会抛出一个错误 unsupported media type 415。在花了一些时间之后我发现

 <application
 location="${server.config.dir}/dropins/my-war-SNAPSHOT.war"
 id="mywar" name="mywar" type="war">
 <classloader apiTypeVisibility="spec,ibm-api,api,third-party"/>
</application>

应该添加到服务器的 server.xml 中。我刚刚打开 server.xml 并在最后一个标签附近添加了代码段,但服务器崩溃了。

客户

@Path("/books")
@Consumes(MediaType.APPLICATION_JSON)
public class LibraryServiceImpl implements LibraryService {

private LibraryDAO libDao = new LibraryImpl();

@Path("/getbooks")
@Produces(MediaType.APPLICATION_JSON)
@GET
public Response getBooks(@QueryParam("format") String format)
        throws SQLException {
    return Response.status(Status.OK).entity(new GenericEntity<List<Book>>(libDao.getAllBooks()) {}).build();
}

网页 XML

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>Sample</display-name>
<servlet>
    <description>
    JAX-RS Tools Generated - Do not modify</description>
    <servlet-name>JAX-RS Servlet</servlet-name>
    <servlet-class>com.ibm.websphere.jaxrs.server.IBMRestServlet</servlet-class>
    <init-param>
        <param-name>javax.ws.rs.Application</param-name>
        <param-value>com.nag.application.Config</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>JAX-RS Servlet</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

我在哪里可以添加该片段以及如何添加?请帮我解决这个问题。

谢谢

4

1 回答 1

0

我的问题通过删除它得到了解决

@Consumes(MediaType.APPLICATION_JSON)

从我的课上。

于 2016-09-02T16:37:42.280 回答