0
我是JAX-RS的新手。我想代表名單,以JSON數組:當試圖用Apache Wink生成JSON數組時,我得到了WebApplicationException
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/getUsersResource/{userId}")
public List<AbstractResource> getUsersResources(@PathParam("userId") final String userId) {
if (userId == null) {
return null;
}
User user = null;
try {
user = userDao.getUserById(Integer.parseInt(userId));
} catch (NumberFormatException nfe) {
user = userDao.getUser(userId);
}
if (user == null) {
return null;
}
return abstractResourceDao.getUsersResources(null, user.userId);
}
當我執行這個網址獲得:
{ 「異常」:{ 「名」: 「WebApplicationException」}}
我註解我AbstractResource類只有@XmlRootElement,當我改變@Produces註釋參數
@Produces(MediaType.APPLICATION_XML)
我得到正確的結果。這是我的web.xml:
<servlet>
<servlet-name>REST Application</servlet-name>
<servlet-class>org.apache.wink.server.internal.servlet.RestServlet</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>com.balthaser.b3e.rest.RESTApplication</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>REST Client</servlet-name>
<servlet-class>com.balthaser.b3e.rest.client.RESTClient</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>REST Client</servlet-name>
<url-pattern>/rest/index.html</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>REST Application</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
是否有任何額外的要求生產JSON數組時?