大家好,我正在通过 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>
我在哪里可以添加该片段以及如何添加?请帮我解决这个问题。
谢谢