有一项服务具有扩展的 URL 树。整个服务运行在 JAX-RS(更准确地说,是 WildFly 下的 RESTeasy)上。一切正常,但最近出现了一个问题:是否有可能以某种方式处理超出树的请求?也就是说,例如,有几个描述的 URL 链,如:
/users/
/users/{id}/
/users/{id}/connect
等等。同时,users除了{id}之外,没有任何子路径。假设突然有一个请求沿着路径到达服务:/users/smth/,即沿着服务中未描述的路径。这就是问题开始的地方,服务器抛出异常并返回空响应。是否有可能以某种方式自定义此类未描述路径的处理?
通常在这种情况下,它是
ExceptionMapper为特定类型的异常编写和注册的。在弯曲路径的情况下,这很可能是NotFoundException。所以我们可以这样写:
注释
@Provider允许 RESTEasy 自行查找您的类(就像@Component在 Spring 中一样)。