2016-03-03 3 views
1

Я знаю, что могу зарегистрировать ресурсы в dropwizard как environment.jersey().register(new MyResource());Есть ли способ зарегистрировать весь модуль в Dropwizard/Jersey?

Но если у меня есть как 10+ или 20+ классов ресурсов, представляется крайне неэффективным писать 20+ линии. Есть ли способ зарегистрировать все классы в модуле.

Googling для этого много показывают. Любые указатели на документы или примеры были бы полезными.

Спасибо,

+0

как это? http://stackoverflow.com/questions/520328/can-you-find-all-classes-in-a-package-using-reflection – user1419950

+0

Альтернативный способ, если вы добавите guicey к своей настройке, вы получите поддержку guice + пакет scan + так называемые установщики, которые не только регистрируют ресурсы для вас, но также все фильтры и функции, которые могут быть или не быть. https://github.com/xvik/dropwizard-guicey – pandaadb

+0

хорошие варианты: thumbsup: – AtharvaI

ответ

3

Вы можете использовать пакет сканирования:

environment.jersey().packages(Class1.class.getPackage().getName(), "my.package2") 

Документация от io.dropwizard.jersey.setup.JerseyEnvironment:

/** 
* Adds array of package names which will be used to scan for components. Packages will be 
* scanned recursively, including all nested packages. 
* 
* @param packages array of package names 
*/ 
public void packages(String... packages) 
+0

спасибо! прекрасно работает! – AtharvaI

Смежные вопросы