Jersey 在到达端点/资源之前调试映射/路由执行

Jersey 在到达端点/资源之前调试映射/路由执行,jersey,glassfish,Jersey,Glassfish,我已经与Glassfish/Jackson合作一年多了,在引入新的端点实现时,我总是遇到这个问题:当未到达端点时,我想了解为什么,我必须继续的唯一提示是返回的请求,因为执行未到达所需的端点或资源(路由/映射错误) 我想在到达端点/资源之前,用“原始”请求拦截Jersey映射/路由执行,以便更好地理解资源/端点映射和路由问题。对于另一个问题,通过,为我解决了此问题: 创建一个实现ContainerRequestFilter的筛选器,并覆盖其filter方法。在这里,我们可以拦截所有请求进行调试 /

我已经与Glassfish/Jackson合作一年多了,在引入新的端点实现时,我总是遇到这个问题:当未到达端点时,我想了解为什么,我必须继续的唯一提示是返回的请求,因为执行未到达所需的端点或资源(路由/映射错误)

我想在到达端点/资源之前,用“原始”请求拦截Jersey映射/路由执行,以便更好地理解资源/端点映射和路由问题。

对于另一个问题,通过,为我解决了此问题:

创建一个实现
ContainerRequestFilter
的筛选器,并覆盖其
filter
方法。在这里,我们可以拦截所有请求进行调试

// Executed whenever a request is sent to the API server.
// Useful for debugging errors that don't reach the desired endpoint implementation.
@Provider
@Priority(value = 0)
public class MyFilter implements ContainerRequestFilter {
    @Context // request scoped proxy
    private ResourceInfo resourceInfo;

    @Override
    public void filter(ContainerRequestContext requestContext) throws IOException {
        try {
            // put a breakpoint or log desired attributes of requestContext here.
        } catch (Exception e) {
            // ignore
        }
   }
}
然后
ConfigResource
实现中注册这个新类

public class MyResourceConfig extends ResourceConfig {
    public MyResourceConfig(){
        register(MyFilter.class);
        // ...
    }
()