如何使用实体触发CLIENT_ERROR或SERVER_ERROR?

时间:2015-08-06 16:11:00

标签: rest jersey

我正在尝试调试在Glassfish上运行的Web应用程序,我想让服务器返回CLIENT_ERROR或SERVER_ERROR。

返回的javax.ws.rs.core.Response到呼叫服务器应该包含一个实体。这样做的最佳方式是什么?

1 个答案:

答案 0 :(得分:0)

创建过滤器并使其返回所需的响应:

javax.ws.rs.container.ContainerRequestFilter

@Provider
public class RequestFilter implements ContainerRequestFilter {

    /** {@inheritDoc} */
    @Override
    public void filter(final ContainerRequestContext req) throws IOException {
        if (req.getUriInfo().getPath().toLowerCase().contains("pathToMatch")) {
            final Response newResp = Response.status(500).entity("<test>test</test>").type(MediaType.valueOf(MediaType.TEXT_HTML)).build();
            req.abortWith(newResp);
        }
    }
}