1

我正在开发 jersey Restful webservices 并使用 Advanced rest client (for 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.

4

0 回答 0