Jersey 1.9 - 如何获取路径参数名称和相应的值

时间:2017-10-18 23:05:51

标签: jersey aop guice jersey-1.0

我需要你的帮助,找出如何拦截Jersey 1.9 RS调用并修改与路径参数匹配的查询参数。

我们说我有一个RS类:

@Path("/bookstore")
public class BookStore {

  @GET
  @Path("/books/{bookName}")
  public Book addBook(@PathParam("bookName") String bookName, @QueryParam("isLegacy") String isLegacy) {
      return book;
  }
}

我想截取此RS调用并从路径或查询参数中获取bookName。如果bookName是" Spiderman"然后我想将请求的查询参数isLegacy修改为false。

这个例子显然都弥补了。

他们通过Filter,AOP或任何类似的机制来做这件事吗?我正在使用Guice,Jersey 1.9。

提前谢谢!!!

1 个答案:

答案 0 :(得分:0)

您需要创建一个扩展PerRequestTypeInjectableProvider的类,并使用@Provider对其进行注释。通过重写getInjectable方法,您可以告诉Jersey修改查询参数,如上所述。