注入依赖于HttpServletRequest的实例

时间:2016-08-18 14:56:54

标签: dependency-injection jersey guice

我目前正在使用guice为依赖注入设置一个相当大的现有项目,并且需要通过@Context访问注入到rest-endpoint的请求范围的HttpServletRequest实例。我之所以需要HttpServletRequest实例,是为了创建多个后端服务所需的对象RequestContext。

我尝试添加一个guice Provider类:

public class JerseyRequestCtxProvider implements Provider<IRequestContext> {
    private final HttpServletRequest request;

    @Inject
    public JerseyRequestCtxProvider(HttpServletRequest request) {
        this.request = request;
    }

    @Override
    public IRequestContext get() {
        return new RequestContext(request);
    }
}

最后将其添加到guice模块中:

bind(IRequestCtx.class).toProvider(JerseyRequestCtxProvider.class);

我也尝试将HttpServletRequest作为Provider本身并添加了guice servlet过滤器,但没有运气。

如果端点是由泽西管理的话,甚至可以在guice中访问HttpServletRequest吗?

0 个答案:

没有答案