泽西可查看状态代码

时间:2010-07-29 11:16:01

标签: java jersey jax-rs http-status-codes

JAX-RS实现Jersey通过Viewable类支持MVC样式的Web应用程序,该类是模板名称和模型对象的容器。它是used like this

@GET
public Viewable get() {
  return new Viewable("/index", "FOO");
}

我想知道如何使用这种方法返回状态代码。上述内容将隐含地返回200,但这在任何情况下都不合适。有没有办法明确设置状态代码?

2 个答案:

答案 0 :(得分:14)

您必须返回Response设置,其中包含正确的状态代码和包含Viewable的标题,例如:

@GET
public Response get() {
  return Response.status(myCode).entity(new Viewable("/index", "FOO")).build();
}

答案 1 :(得分:5)

嗯,你可以在泽西岛创建自定义的Response对象: 这将返回200:

@GET
public Response get() {
    URI uri=new URI("http://nohost/context");
    Viewable viewable=new Viewable("/index", "FOO");
    return Response.ok(viewable).build();
}

返回不同的东西使用这种方法:

@GET
public Response get() {
    int statusCode=204;
    Viewable myViewable=new Viewable("/index","FOO");
    return Response.status(statusCode).entity(myViewable).build();
}

希望有所帮助....