【问题标题】:Jersey 1.9 - How to get path param name and corresponding valueJersey 1.9 - 如何获取路径参数名称和相应的值
【发布时间】:2018-03-30 22:30:34
【问题描述】:

我需要您的帮助来弄清楚如何拦截 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 是“蜘蛛侠”,那么我想将请求的查询参数 isLegacy 修改为 false。

例子显然都是编出来的。

它们是我通过过滤器、AOP 或任何类似机制实现此目的的一种方式吗?我使用的是 Guice, Jersey 1.9。

提前谢谢你!!!

【问题讨论】:

    标签: jersey aop guice jersey-1.0


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2012-04-14
      • 2023-01-11
      • 1970-01-01
      • 1970-01-01
      • 2011-11-16
      • 2020-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多