Java ApacheCamel-处理404错误的最佳方法是什么?

Java ApacheCamel-处理404错误的最佳方法是什么?,java,spring-boot,rest,servlets,apache-camel,Java,Spring Boot,Rest,Servlets,Apache Camel,我使用ApacheCamel和Spring Boot以及Jetty作为嵌入式服务器 我有一个RouteBuilder,它由以下路由定义: onException(Exception.class) .handled(true) .process(new ErrorProcessor()); rest("/mysvc/requests/{id}") .consumes("application/json")

我使用ApacheCamel和Spring Boot以及Jetty作为嵌入式服务器

我有一个RouteBuilder,它由以下路由定义:

    onException(Exception.class)
             .handled(true)
             .process(new ErrorProcessor());

    rest("/mysvc/requests/{id}")
            .consumes("application/json")
            .produces("application/json")
            .get()
            .to("direct:processMyRequest");

    from("direct:processMyRequest")
            .log("Hello World");
当我用一个像
GET/mysvc/requests/123
这样的请求点击REST端点时,我得到了一个有效的响应
helloworld

如果我点击了一个错误的端点,比如
GET/mysvc/requests
(没有提供id),我只会得到一个响应代码
404
,响应主体如下:

{
  url: "/mysvc/requests",
  status: "404",
  message: "Not Found",
  servlet: "CamelServlet",
}
我注意到,
onException
子句没有捕获异常,我的
ErrorProcessor()
也没有被调用。为什么会这样


如何确保此类错误被
onException
子句捕获?

好吧,我假设不仅没有调用
onException
,还没有调用REST路由,因为您的请求与路径不匹配(缺少ID)

因此,我假设标准错误处理将返回404,因为没有路径来回答请求


如果你想捕获这些请求,你必须创建一个路由来监听
/mysvc/requests

好吧,我假设不仅你的
onException
没有被调用,而且你的REST路由也没有被调用,因为你的请求与路径不匹配(缺少ID)

因此,我假设标准错误处理将返回404,因为没有路径来回答请求


如果您想捕获这些请求,您必须创建一个侦听
/mysvc/requests

的路由。您可以包括
错误处理器的代码吗?您可以包括
错误处理器的代码吗?