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

标签 java rest jakarta-ee jax-rs

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

谢谢。

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

最佳答案

这在一定程度上取决于您使用的 JAX-RS 实现。

如果您使用RESTEasy ,您可以创建一个捕获 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();
    }
}

我有点不确定如何使用 Jersey 执行此操作,但也许您可以创建一个捕获 com.sun.jersey.api.NotFoundException 的 ExceptionMapper。

关于java - 如何使用 JAX-RS 捕获所有无效 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11490494/

相关文章:

java - 可完成的 future 。处理业务 "exceptions"的最佳方式是什么?

java - 在 Spring Boot 2.0.4.RELEASE 中的 RestController 中捕获 ArithmeticException

java - JSF2.0 - 使用 Primefaces 3.0 处理错误的 Ajax 调用

java - Maven 中的依赖 hell

java - Java 中的套接字和进程

java - 使用 AsyncTask 检查列表

java - 即使定义了 ExceptionHandler,表单数据也不会得到验证

jquery - 为什么jquery将json作为参数名称而不是作为请求正文发布?

java - OSGi:javax.annotation 冲突:Java SE 与 Java EE

java - A JMS-Queue-Factory-Bean --> 在不同的 bean 中重用注入(inject)的 jms 队列