Java Apache-2.0

swagger-core

Examples and server integrations for generating the Swagger API Specification, which enables easy access to your REST API

S

swagger-api

Dernière activité 28 sept. 2026
swagger-api/swagger-core

7,5 k

étoiles

2,3 k

forks

201

issues ouvertes

hacktoberfestjavaopen-sourceopenapiopenapi-specificationopenapi3restrest-apiswaggerswagger-apiswagger-oss

Ce README est souvent en anglais.

Swagger Core

NOTE: If you're looking for Swagger Core 1.5.X and OpenAPI 2.0, please refer to 1.5 branch.

NOTE: Since version 2.1.7, Swagger Core also supports the Jakarta namespace. There are a parallel set of artifacts with the -jakarta suffix, providing the same functionality as the unsuffixed (i.e.: javax) artifacts. Please see the Wiki for more details.

NOTE: Since version 2.2.0 Swagger Core supports OpenAPI 3.1; see this page for details

Build Test Deploy Maven Central

Swagger Core is a Java implementation of the OpenAPI Specification. Current version supports JAX-RS2 (javax and jakarta namespaces).

Get started with Swagger Core!

See the guide on getting started with Swagger Core to get started with adding Swagger to your API.

See the Wiki!

The github wiki contains documentation, samples, contributions, etc. Start there.

Compatibility

The OpenAPI Specification has undergone several revisions since initial creation in 2010. The Swagger Core project has the following compatibilities with the OpenAPI Specification:

Swagger core Version Release Date OpenAPI Spec compatibility Notes Status
2.2.55 (current stable) 2026-08-31 3.x tag v2.2.55 Supported
2.2.54 2026-08-18 3.x tag v2.2.54 Supported
2.2.53 2026-08-03 3.x tag v2.2.53 Supported
2.2.52 2026-06-22 3.x tag v2.2.52 Supported
2.2.51 2026-06-12 3.x tag v2.2.51 Supported
2.2.50 2026-05-12 3.x tag v2.2.50 Supported
2.2.49 2026-04-28 3.x tag v2.2.49 Supported
2.2.48 2026-04-13 3.x tag v2.2.48 Supported
2.2.47 2026-04-09 3.x tag v2.2.47 Supported
2.2.46 2026-03-31 3.x tag v2.2.46 Supported
2.2.45 2026-03-09 3.x tag v2.2.45 Supported
2.2.44 2026-03-03 3.x tag v2.2.44 Supported
2.2.43 2026-02-17 3.x tag v2.2.43 Supported
2.2.42 2026-01-19 3.x tag v2.2.42 Supported
2.2.41 2025-11-24 3.x tag v2.2.41 Supported
2.2.40 2025-10-28 3.x tag v2.2.40 Supported
2.2.39 2025-10-13 3.x tag v2.2.39 Supported
2.2.38 2025-09-29 3.x tag v2.2.38 Supported
2.2.37 2025-09-16 3.x tag v2.2.37 Supported
2.2.36 2025-08-18 3.x tag v2.2.36 Supported
2.2.35 2025-07-31 3.x tag v2.2.35 Supported
2.2.34 2025-06-20 3.x tag v2.2.34 Supported
2.2.33 2025-06-12 3.x tag v2.2.33 Supported
2.2.32 2025-05-14 3.x tag v2.2.32 Supported
2.2.31 2025-05-13 3.x tag v2.2.31 Supported
2.2.30 2025-04-07 3.x tag v2.2.30 Supported
2.2.29 2025-03-10 3.x tag v2.2.29 Supported
2.2.28 2025-01-16 3.x tag v2.2.28 Supported
2.2.27 2024-12-11 3.x tag v2.2.27 Supported
2.2.26 2024-11-18 3.x tag v2.2.26 Supported
2.2.25 2024-10-02 3.x tag v2.2.25 Supported
2.2.24 2024-09-23 3.x tag v2.2.24 Supported
2.2.23 2024-08-28 3.x tag v2.2.23 Supported
2.2.22 2024-05-15 3.x tag v2.2.22 Supported
2.2.21 2024-03-20 3.x tag v2.2.21 Supported
2.2.20 2023-12-19 3.x tag v2.2.20 Supported
2.2.19 2023-11-10 3.x tag v2.2.19 Supported
2.2.18 2023-10-25 3.x tag v2.2.18 Supported
2.2.17 2023-10-12 3.x tag v2.2.17 Supported
2.2.16 2023-09-18 3.x tag v2.2.16 Supported
2.2.15 2023-07-08 3.x tag v2.2.15 Supported
2.2.14 2023-06-26 3.x tag v2.2.14 Supported
2.2.13 2023-06-24 3.x tag v2.2.13 Supported
2.2.12 2023-06-13 3.x tag v2.2.12 Supported
2.2.11 2023-06-01 3.x tag v2.2.11 Supported
2.2.10 2023-05-15 3.x tag v2.2.10 Supported
2.2.9 2023-03-20 3.x tag v2.2.9 Supported
2.2.8 2023-01-06 3.x tag v2.2.8 Supported
2.2.7 2022-11-15 3.0 tag v2.2.7 Supported
2.2.6 2022-11-02 3.0 tag v2.2.6 Supported
2.2.5 2022-11-02 3.0 tag v2.2.5 Supported
2.2.4 2022-10-16 3.0 tag v2.2.4 Supported
2.2.3 2022-09-27 3.0 tag v2.2.3 Supported
2.2.2 2022-07-20 3.0 tag v2.2.2 Supported
2.2.1 2022-06-15 3.0 tag v2.2.1 Supported
2.2.0 2022-04-04 3.0 tag v2.2.0 Supported
2.1.13 2022-02-07 3.0 tag v2.1.13 Supported
2.1.12 2021-12-23 3.0 tag v2.1.12 Supported
2.1.11 2021-09-29 3.0 tag v2.1.11 Supported
2.1.10 2021-06-28 3.0 tag v2.1.10 Supported
2.1.9 2021-04-20 3.0 tag v2.1.9 Supported
2.1.8 2021-04-18 3.0 tag v2.1.8 Supported
2.1.7 2021-02-18 3.0 tag v2.1.7 Supported
2.1.6 2020-12-04 3.0 tag v2.1.6 Supported
2.1.5 2020-10-01 3.0 tag v2.1.5 Supported
2.1.4 2020-07-24 3.0 tag v2.1.4 Supported
2.1.3 2020-06-27 3.0 tag v2.1.3 Supported
2.1.2 2020-04-01 3.0 tag v2.1.2 Supported
2.1.1 2020-01-02 3.0 tag v2.1.1 Supported
2.1.0 2019-11-16 3.0 tag v2.1.0 Supported
2.0.10 2019-10-11 3.0 tag v2.0.10 Supported
2.0.9 2019-08-22 3.0 tag v2.0.9 Supported
2.0.8 2019-04-24 3.0 tag v2.0.8 Supported
2.0.7 2019-02-18 3.0 tag v2.0.7 Supported
2.0.6 2018-11-27 3.0 tag v2.0.6 Supported
2.0.5 2018-09-19 3.0 tag v2.0.5 Supported
2.0.4 2018-09-05 3.0 tag v2.0.4 Supported
2.0.3 2018-08-09 3.0 tag v2.0.3 Supported
1.6.14 (current stable) 2024-03-19 2.0 tag v1.6.14 Supported
1.6.13 2024-01-26 2.0 tag v1.6.13 Supported
1.6.12 2023-10-14 2.0 tag v1.6.12 Supported
1.6.11 2023-05-15 2.0 tag v1.6.11 Supported
1.6.10 2023-03-21 2.0 tag v1.6.10 Supported
1.6.9 2022-11-15 2.0 tag v1.6.9 Supported
1.6.8 2022-10-16 2.0 tag v1.6.8 Supported
1.6.7 2022-09-27 2.0 tag v1.6.7 Supported
1.6.6 2022-04-04 2.0 tag v1.6.6 Supported
1.6.5 2022-02-07 2.0 tag v1.6.5 Supported
1.6.4 2021-12-23 2.0 tag v1.6.4 Supported
1.6.3 2021-09-29 2.0 tag v1.6.3 Supported
1.6.2 2020-07-01 2.0 tag v1.6.2 Supported
1.6.1 2020-04-01 2.0 tag v1.6.1 Supported
1.6.0 2019-11-16 2.0 tag v1.6.0 Supported
1.5.24 2019-10-11 2.0 tag v1.5.24 Supported
1.5.23 2019-08-22 2.0 tag v1.5.23 Supported
1.5.22 2019-02-18 2.0 tag v1.5.22 Supported
1.5.21 2018-08-09 2.0 tag v1.5.21 Supported
1.5.20 2018-05-23 2.0 tag v1.5.20 Supported
2.0.2 2018-05-23 3.0 tag v2.0.2 Supported
2.0.1 2018-04-16 3.0 tag v2.0.1 Supported
1.5.19 2018-04-16 2.0 tag v1.5.19 Supported
2.0.0 2018-03-20 3.0 tag v2.0.0 Supported
2.0.0-rc4 2018-01-22 3.0 tag v2.0.0-rc4 Supported
2.0.0-rc3 2017-11-21 3.0 tag v2.0.0-rc3 Supported
2.0.0-rc2 2017-09-29 3.0 tag v2.0.0-rc2 Supported
2.0.0-rc1 2017-08-17 3.0 tag v2.0.0-rc1 Supported
1.5.18 2018-01-22 2.0 tag v1.5.18 Supported
1.5.17 2017-11-21 2.0 tag v1.5.17 Supported
1.5.16 2017-07-15 2.0 tag v1.5.16 Supported
1.3.12 2014-12-23 1.2 tag v1.3.12 Supported
1.2.4 2013-06-19 1.1 tag swagger-project_2.10.0-1.2.4 Deprecated
1.0.0 2011-10-16 1.0 tag v1.0 Deprecated

Change History

If you're interested in the change history of swagger and the Swagger Core framework, see here.

Starting with version 2.3.0, notable changes and fixes are also documented in CHANGELOG.md.

Prerequisites

You need the following installed and available in your $PATH:

  • Java 11
  • Apache maven 3.0.4 or greater
  • Jackson 2.4.5 or greater

To build from source (currently 2.2.56-SNAPSHOT)

# first time building locally
mvn -N

Subsequent builds:

mvn install

This will build the modules.

Of course if you don't want to build locally you can grab artifacts from maven central:

https://repo1.maven.org/maven2/io/swagger/core/

Maven BOM

The swagger-bom artifact is a Bill of Materials that manages both the javax and Jakarta (-jakarta suffix) artifact families. Import it once and omit versions on all individual Swagger dependencies.

Note: Maven and Gradle build plugins (swagger-maven-plugin, swagger-gradle-plugin, swagger-eclipse-transformer-maven-plugin) are intentionally excluded from the BOM. Plugins are applied via <build><plugins> or plugins {}, not via <dependencyManagement>, so including them in the BOM would be misleading and could conflict with the plugin management section of a consumer's build.

Maven

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>io.swagger.core.v3</groupId>
      <artifactId>swagger-bom</artifactId>
      <version>${swagger-openapiv3.version}</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<!-- Then declare Swagger dependencies without explicit versions -->
<dependencies>
  <!-- javax artifacts -->
  <dependency>
    <groupId>io.swagger.core.v3</groupId>
    <artifactId>swagger-annotations</artifactId>
  </dependency>
  <dependency>
    <groupId>io.swagger.core.v3</groupId>
    <artifactId>swagger-models</artifactId>
  </dependency>
  <dependency>
    <groupId>io.swagger.core.v3</groupId>
    <artifactId>swagger-core</artifactId>
  </dependency>
  <dependency>
    <groupId>io.swagger.core.v3</groupId>
    <artifactId>swagger-integration</artifactId>
  </dependency>
  <dependency>
    <groupId>io.swagger.core.v3</groupId>
    <artifactId>swagger-jaxrs2</artifactId>
  </dependency>
  <dependency>
    <groupId>io.swagger.core.v3</groupId>
    <artifactId>swagger-jaxrs2-servlet-initializer</artifactId>
  </dependency>
  <dependency>
    <groupId>io.swagger.core.v3</groupId>
    <artifactId>swagger-jaxrs2-servlet-initializer-v2</artifactId>
  </dependency>
  <!-- Jakarta namespace artifacts (use instead of, or alongside, the javax ones above) -->
  <dependency>
    <groupId>io.swagger.core.v3</groupId>
    <artifactId>swagger-annotations-jakarta</artifactId>
  </dependency>
  <dependency>
    <groupId>io.swagger.core.v3</groupId>
    <artifactId>swagger-models-jakarta</artifactId>
  </dependency>
  <dependency>
    <groupId>io.swagger.core.v3</groupId>
    <artifactId>swagger-core-jakarta</artifactId>
  </dependency>
  <dependency>
    <groupId>io.swagger.core.v3</groupId>
    <artifactId>swagger-integration-jakarta</artifactId>
  </dependency>
  <dependency>
    <groupId>io.swagger.core.v3</groupId>
    <artifactId>swagger-jaxrs2-jakarta</artifactId>
  </dependency>
  <dependency>
    <groupId>io.swagger.core.v3</groupId>
    <artifactId>swagger-jaxrs2-servlet-initializer-jakarta</artifactId>
  </dependency>
  <dependency>
    <groupId>io.swagger.core.v3</groupId>
    <artifactId>swagger-jaxrs2-servlet-initializer-v2-jakarta</artifactId>
  </dependency>
</dependencies>

Gradle

dependencies {
    implementation(platform("io.swagger.core.v3:swagger-bom:${swaggerOpenapiv3Version}"))

    // javax artifacts — no version needed
    implementation("io.swagger.core.v3:swagger-annotations")
    implementation("io.swagger.core.v3:swagger-core")

    // Jakarta namespace artifacts — no version needed
    implementation("io.swagger.core.v3:swagger-annotations-jakarta")
    implementation("io.swagger.core.v3:swagger-core-jakarta")
}

Sample Apps

The samples have moved to a new repository and contain various integrations and configurations.

Security contact

Please disclose any security-related issues or vulnerabilities by emailing security@swagger.io, instead of using the public issue tracker.

Projets similaires

OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)

Javaapiapi-clientapi-server
OOpenAPITools
26,8 k étoiles7,7 k

Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.

JavaScripthacktoberfestoasopen-source
Sswagger-api
29 k étoiles9,3 k

swagger-codegen contains a template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition.

Mustacheopen-sourceopenapi-specificationopenapi3
Sswagger-api
17,8 k étoiles6 k