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

时间:2013-10-18 07:34:57

标签: java rest jersey jax-rs

我正在研究平针织Restful webservices并使用Advanced 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;
    }
}

如果我对返回类型做了一些小改动,我返回List<Foobar>而不是Response object,那就完全正常了。

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

我在某个地方出错了吗?我试过通过Response对象返回单个对象而不是对象列表。它工作得很好。但是如果我返回List,我不知道是什么问题。

0 个答案:

没有答案