使用 JAX-RS 和 Tomcat 的 HTTP 503 的空响应?

Empty response for HTTP 503 with JAX-RS and Tomcat?

我有一个 JAX-RS 资源(在我的 war 中部署在 Tomcat 中)在某些情况下应该 return HTTP 503 为空主体。我的资源的实现如下所示

@GET
@Path("/alive")
public Response alive() {
    Response result = noContent().build();

    if (shouldReturn503()) 
        result = Response.status(SERVICE_UNAVAILABLE)
                         .build();

    return result;
}

不幸的是,Tomcat 总是向响应添加一个 HTML 页面。我如何强制 Tomcat 到 return HTTP 503 状态并且没有正文?

试试这个:

result = Response.status(Response.Status.SERVICE_UNAVAILABLE).entity("").build();

你的SERVICE_UNAVAILABLE常数是多少?你在找这个吗?:

return Response.status(Response.Status.SERVICE_UNAVAILABLE).build();

当我这样做时,我得到一个空的 body。