Java 如何使用JAX-RS捕获所有无效URL?

Java 如何使用JAX-RS捕获所有无效URL?,java,rest,jakarta-ee,jax-rs,Java,Rest,Jakarta Ee,Jax Rs,如何捕获这些无效URL,以便返回正确的错误资源 谢谢 基本上,我希望覆盖“未找到资源”页面。相反,我希望返回一个描述错误的XML。这取决于您使用的JAX-RS实现 如果您正在使用,您可以创建一个捕获org.jboss.resteasy.spi.NotFoundException的ExceptionMapper。这使您能够构建并返回定制的javax.ws.rs.core.Response public class MyExceptionMapper implements ExceptionMapp

如何捕获这些无效URL,以便返回正确的错误资源

谢谢


基本上,我希望覆盖“未找到资源”页面。相反,我希望返回一个描述错误的XML。

这取决于您使用的JAX-RS实现

如果您正在使用,您可以创建一个捕获org.jboss.resteasy.spi.NotFoundException的
ExceptionMapper
。这使您能够构建并返回定制的
javax.ws.rs.core.Response

public class MyExceptionMapper implements ExceptionMapper<NotFoundException> {

    @Override
    public Response toResponse(NotFoundException exception) {
        return Response.status(exception.getErrorCode()).build();
    }
}
公共类MyExceptionMapper实现ExceptionMapper{
@凌驾
公共响应(NotFoundException){
返回Response.status(exception.getErrorCode()).build();
}
}

我有点不确定如何使用,但也许您可以创建一个捕获
com.sun.jersey.api.NotFoundException

ExceptionMapper
,该问题目前的形式无法回答。你在说什么URL,是什么使它们无效,你在哪里试图“捕获”它们?我实际上认为这是一个有效的问题。Web服务器将无效URI视为404。但是有人想把它用于不同的目的,比如日志记录。。。问题是如何以一种不依赖于实现的方式来实现它。这样就可以很容易地切换实现。。。