Java 使用响应对象返回自定义对象列表时出现内部服务器错误
我正在开发jersey Restful Web服务,并使用高级rest客户端(用于Chrome)来测试结果。我面临以下问题 以下代码返回一个错误,说明错误500:内部服务器错误Java 使用响应对象返回自定义对象列表时出现内部服务器错误,java,rest,jersey,jax-rs,Java,Rest,Jersey,Jax Rs,我正在开发jersey Restful Web服务,并使用高级rest客户端(用于Chrome)来测试结果。我面临以下问题 以下代码返回一个错误,说明错误500:内部服务器错误 @Path("/test") public class TestWebService { @Context private HttpServletRequest req; @GET @Path("check") @Produces({MediaType.APPLICATION_XML, MediaType.APPL
@Path("/test")
public class TestWebService
{
@Context private HttpServletRequest req;
@GET
@Path("check")
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
public Response TestMethod()
{
Response resp = null;
//some code here
......
List<Foobar> foolist = getResult();
//Here Foobar is some custom class and get result returns a list of objects of Foobar
resp = Response.ok(foolist).build();
return resp;
}
}
我哪里出了问题吗?我尝试通过
Response
object返回单个对象,而不是对象列表。它工作得非常好。但是如果我返回一个列表
尝试返回一个包含该列表的对象,我不知道会出现什么问题;)我无法重现你的问题。这在JavaEE7上应该很容易做到。Foobar
是否可以序列化为JSON和/或XML?你在上面使用JAXB注释吗?@Fildor:这将是我最后的选择,我想:)@LutzHorn:我不太确定序列化。我正确地使用了JAXB注释。我认为这可能与序列化有关,但我还没有找到任何相关的东西。有东西抛出异常,您的容器正在将其映射到500响应。检查您的服务器日志或遵循@Fildor的建议。如果您好奇的话,jax-rs和servlet规范中描述了异常处理行为。
@Path("/test")
public class TestWebService
{
@Context private HttpServletRequest req;
@GET
@Path("check")
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
public List<Foobar> TestMethod()
{
//some code here
......
List<Foobar> foolist = getResult();
//Here Foobar is some custom class, and getResult returns a list of objects of Foobar
return foolist;
}
}