2013-05-31 92 views
4

我試圖給我的項目添加招搖。我們的設置與示例項目有點不同。我們使用guice和guice-servlet來注入並啓動我們的JerseyServletModule。Swagger和谷歌Guice設置

今天,我們的web.xml文件看起來像這樣

<web-app ....> 
    <listener> 
     <listener-class>com.mypackage.MyServletModule</listener-class> 
    </listener> 
    <filter> 
     <filter-name>guiceFilter</filter-name> 
     <filter-class>com.google.inject.servlet.GuiceFilter</filter-class> 
    </filter> 
    <filter-mapping> 
     <filter-name>guiceFilter</filter-name> 
     <url-pattern>/*</url-pattern> 
    </filter-mapping> 
</web-app> 

和類MyServletModule看起來像

public class MyServletModule extends GuiceServletContextListener { 
    ... 
    @Override 
    protected Injector getInjector() { 
    JerseyServletModule api = new JerseyServletModule() { 
     @Override 
     protected void configureServlets() { 
     ... 
     bind().to() 
     ... 
     serve("/api/v1/*").with(GuiceContainer.class); 
     } 
     }; 
    return Guice.createInjector(api); 
    } 
} 

在哪裏,我應該怎麼加招搖?

回答

4

你需要告訴澤西在哪裏可以找到揚鞭資源像這樣(其中org.example爲您服務含包裝):

Map<String, String> params = Maps.newHashMap(); 
params.put(PackagesResourceConfig.PROPERTY_PACKAGES, "org.example;com.wordnik.swagger.jaxrs.listing"); 
serve("/api/v1/*").with(GuiceContainer.class, params); 

另外還必須揚鞭是在classpath。如果您使用的是Maven,請添加:

<dependency> 
    <groupId>com.wordnik</groupId> 
    <artifactId>swagger-jaxrs_2.9.1</artifactId> 
    <version>1.2.1</version> 
    <scope>compile</scope> 
</dependency> 
+0

工程就像一個魅力,非常感謝! – regius

+1

您是否有網絡上的任何示例,配置項目? – Opal