Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用响应对象返回自定义对象列表时出现内部服务器错误_Java_Rest_Jersey_Jax Rs - Fatal编程技术网

Java 使用响应对象返回自定义对象列表时出现内部服务器错误

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

我正在开发jersey Restful Web服务,并使用高级rest客户端(用于Chrome)来测试结果。我面临以下问题

以下代码返回一个错误,说明错误500:内部服务器错误

@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;
  }
}