【问题标题】:Does Swagger also work with Jersey 2.x?Swagger 是否也适用于 Jersey 2.x?
【发布时间】:2014-11-11 08:42:21
【问题描述】:

我想做的是基于 Jersey 2.x 将 Swagger 添加到我的 REST Api 中。

但 Swagger for Jersey 似乎基于 Jersey 1.x。 当我在 Maven 中添加 Swagger 依赖项时,出现以下异常:

Exception in thread "main" java.lang.NoSuchMethodError: javax.ws.rs.core.Application.getProperties()Ljava/util/Map;
  at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:304)
  at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:285)
  at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.<init>(GrizzlyHttpContainer.java:331)
  at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory.createHttpServer(GrizzlyHttpServerFactory.java:119)

我认为这是因为

<dependency>
  <groupId>com.wordnik</groupId>
  <artifactId>swagger-jersey-jaxrs_2.10</artifactId>
  <version>1.3.1</version>
</dependency>

依赖于

<dependency>
  <groupId>com.sun.jersey</groupId>
  <artifactId>jersey-client</artifactId>
  <version>1.13</version>
</dependency>

这与我的应用程序正在使用的 Jersey 2.x 冲突。 是否有适用于 Jersey 2.x 的 Swagger 集成?

任何想法如何解决我的问题?

【问题讨论】:

    标签: java rest jersey jersey-2.0 swagger


    【解决方案1】:

    请改用以下依赖项:

    <dependency>
      <groupId>com.wordnik</groupId>
      <artifactId>swagger-jersey2-jaxrs_2.10</artifactId>
      <version>1.3.10</version>
    </dependency>
    

    这应该可以解决您的问题。我们即将发布一个关于如何与 jersey/jersey2 集成的新教程。

    【讨论】:

    • 您的新教程发布了吗?可以分享一下链接吗?
    • Ron,我按照教程 Swagger Core Jersey 2.X Project Setup 中的步骤进行操作,但是当我在 URL 中输入 http://localhost:8080/myapp/v1/api 时看不到任何内容(实际上我收到 HTTP 状态 404 - 未找到错误)。不知道我错过了什么。但是,当我专门输入http://localhost:8080/myapp/v1/api-docs 时,我看到页面上打印了一些东西:{"apiVersion":"1.0.0","swaggerVersion":"1.2"}
    • 您可能错过了教程中的一两步。但是,我们将无法在 cmets 中涵盖它。我建议在我们的邮件列表中写一个包含完整详细信息的问题。
    • 我遇到了同样的问题。问题已写在邮件列表中?如果您可以在此处添加链接吗?
    【解决方案2】:

    恐怕罗恩的回答中的swagger-jersey2-jaxrs_2.10 已经过时了。

    根据https://github.com/swagger-api/swagger-core/wiki/Swagger-Core-Jersey-2.X-Project-Setup-1.5,这是一个更新的依赖项(截至 2016 年 2 月):

    <dependency>
      <groupId>io.swagger</groupId>
      <artifactId>swagger-jersey2-jaxrs</artifactId>
      <version>1.5.0</version>
    </dependency>
    

    【讨论】:

      猜你喜欢
      • 2023-04-08
      • 2016-03-16
      • 2018-03-27
      • 1970-01-01
      • 1970-01-01
      • 2015-11-23
      • 2015-08-03
      • 1970-01-01
      • 2020-09-04
      相关资源
      最近更新 更多