首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swagger和Google Guice设置

Swagger和Google Guice设置
EN

Stack Overflow用户
提问于 2013-05-31 21:18:12
回答 1查看 2.3K关注 0票数 4

我正试着在我的项目中加入swagger。我们的设置与示例项目略有不同。我们使用guice和guice-servlet来注入和启动JerseyServletModule。

今天我们的web.xml看起来像这样

代码语言:javascript
复制
<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类看起来像这样

代码语言:javascript
复制
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?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-31 23:39:33

您需要像这样告诉Jersey哪里可以找到Swagger资源(其中org.example是包含服务的包):

代码语言:javascript
复制
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 add:

代码语言:javascript
复制
<dependency>
  <groupId>com.wordnik</groupId>
  <artifactId>swagger-jaxrs_2.9.1</artifactId>
  <version>1.2.1</version>
  <scope>compile</scope>
</dependency>
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16858253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档