4

プロジェクトに闊歩を追加しようとしています。私たちのセットアップは、サンプル プロジェクトとは少し異なります。guice と guice-servlet を使用して、JerseyServletModule を注入して開始します。

今日、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);
  }
}

どこにどのようにswaggerを追加すればよいですか?

4

1 に答える 1

4

次のように、Jersey に Swagger リソースの場所を伝える必要があります (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);

また、Swagger がクラスパスにあることを確認してください。Maven を使用している場合は、以下を追加します。

<dependency>
  <groupId>com.wordnik</groupId>
  <artifactId>swagger-jaxrs_2.9.1</artifactId>
  <version>1.2.1</version>
  <scope>compile</scope>
</dependency>
于 2013-05-31T15:39:32.690 に答える