我使用泽西服务器1.18,我想向服务器添加ContainerResponseFilter

为了做到这一点,在创建服务器时,不仅仅使用URL,例如:

server = HttpServerFactory.create(BASE_URI);


我还需要传递ResourceConfig的实例,如下所示:

server = HttpServerFactory.create(BASE_URI, resourceConfig);


问题是我不知道如何获取Jersey用作默认设置的默认资源配置,因此我可以添加过滤器...

任何的想法?

最佳答案

查看ResourceConfig javadoc。如果查看“直接已知子类”,您将看到抽象ResourceConfig的实现。如果单击该链接,将看到更多的子类,然后单击那些链接并看到更多的类,等等。阅读每个子类的jacdocs并确定最适合您的需求的子类。

例如,PackagesResourceConfig是一种实现,允许您扫描包中的@Path@Provider类以自动注册。只需将包传递给构造函数

ResourceConfig config = new PackagesResourceConfig("the.packages", "to.scan");

10-04 20:12