作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在它的 JSON 被解码后拦截一个资源调用。通过阅读一些论坛和帖子,我发现我可以通过实现 来做到这一点。 org.glassfish.jersey.server.spi.internal.ResourceMethodInvocationHandlerProvider .这样做后,我现在被困在试图让我的 自定义资源方法调用处理程序 提供者注册,以便 jersey/hk2 内部调用我的覆盖 公共(public) InvocationHandler create(Invocable invocable) 方法。任何帮助将非常感激!
最佳答案
让我们看一下这种方法:
(使用 Jersey 2.10 和 JSON 序列化测试)
===============
1) 实现一个自定义的 ResourceMethodInvocationHandlerProvider
package com.example.handler;
import java.lang.reflect.InvocationHandler;
import org.glassfish.jersey.server.model.Invocable;
import org.glassfish.jersey.server.spi.internal.ResourceMethodInvocationHandlerProvider;
public class CustomResourceInvocationHandlerProvider implements
ResourceMethodInvocationHandlerProvider {
@Override
public InvocationHandler create(Invocable resourceMethod) {
return new MyIncovationHandler();
}
}
package com.example.handler;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
public class MyIncovationHandler implements InvocationHandler {
@Override
public Object invoke(Object obj, Method method, Object[] args)
throws Throwable {
// optionally add some logic here
Object result = method.invoke(obj, args);
return result;
}
}
package com.example.handler;
import org.glassfish.hk2.utilities.binding.AbstractBinder;
import org.glassfish.jersey.server.spi.internal.ResourceMethodInvocationHandlerProvider;
public class CustomBinder extends AbstractBinder {
@Override
protected void configure() {
// this is where the magic happens!
bind(CustomResourceInvocationHandlerProvider.class).to(
ResourceMethodInvocationHandlerProvider.class);
}
}
关于jersey - 在 Jersey 中注册自定义 ResourceMethodInvocationHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25881675/
我试图在它的 JSON 被解码后拦截一个资源调用。通过阅读一些论坛和帖子,我发现我可以通过实现 来做到这一点。 org.glassfish.jersey.server.spi.internal.Res
我是一名优秀的程序员,十分优秀!