Jersey 基于URI保护API资源的最佳方法

Jersey 基于URI保护API资源的最佳方法,jersey,dropwizard,Jersey,Dropwizard,我正在构建一个RESTAPI,其中一个端点类似于/API/foo/{id}/bar。我想获得所有可用的条,这些条的fooId与我传递给API调用的{id}匹配。每次调用时,我都会传入一个带有散列用户ID和身份验证令牌的头。我最初的想法是为每个资源设置一个过滤器,在确保令牌与用户匹配后,检查请求者是否有权访问该foo,从而可以检索与之关联的那些条。但是,我很快意识到servlet过滤器将无法访问路径参数。到目前为止,我看到三种选择: 1.)编写一个过滤器,并在其中执行一些黑客操作,以获取路径参数“

我正在构建一个RESTAPI,其中一个端点类似于/API/foo/{id}/bar。我想获得所有可用的条,这些条的fooId与我传递给API调用的{id}匹配。每次调用时,我都会传入一个带有散列用户ID和身份验证令牌的头。我最初的想法是为每个资源设置一个过滤器,在确保令牌与用户匹配后,检查请求者是否有权访问该foo,从而可以检索与之关联的那些条。但是,我很快意识到servlet过滤器将无法访问路径参数。到目前为止,我看到三种选择:

1.)编写一个过滤器,并在其中执行一些黑客操作,以获取路径参数“Id” 2.)在头中传入“{id}”以及userId和令牌 3.)获取资源中的path参数,并将其传递给服务以验证这一点

1有一个明显的问题,就是更改基URI,所以我认为这不是一个好主意。
2和3似乎有效,但我不确定最佳实践是什么

检查dropwizard验证库