2013-05-31 2 views
4

내 프로젝트에 멋쟁이를 추가하려고합니다. 우리의 설정은 샘플 프로젝트와 조금 다릅니다. guice와 guice-servlet을 사용하여 JerseyServletModule을 주입하고 시작합니다.Swagger 및 Google 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); 
    } 
} 

나는 자신감이 방법을 추가해야처럼 보인다 보인다?

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); 

이 또한 자신감이 클래스 경로에 있는지 확인하십시오 :

답변

4

당신은 (org.example 서비스가 포함 된 패키지입니다) 여기서이 같은 자신감 자원을 찾을 저지를 알 필요가있다. 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