我需要你的帮助,找出如何拦截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。
提前谢谢!!!
答案 0 :(得分:0)
您需要创建一个扩展PerRequestTypeInjectableProvider
的类,并使用@Provider
对其进行注释。通过重写getInjectable
方法,您可以告诉Jersey修改查询参数,如上所述。