泽西可查看状态代码

dea*_*mon 9 java jax-rs jersey http-status-codes

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

@GET
public Viewable get() {
  return new Viewable("/index", "FOO");
}
Run Code Online (Sandbox Code Playgroud)

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

Mor*_*itz 15

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

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


fas*_*seg 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();
}
Run Code Online (Sandbox Code Playgroud)

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

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

希望有帮助....