IMPORTANT: springdoc-openapi v1.8.0
is the latest Open Source release supporting Spring Boot 2.x and 1.x.
An extended support for springdoc-openapi v1 project is now available for organizations that need support beyond 2023.
For more details, feel free to reach out: sales@springdoc.org
springdoc-openapi
is on Open Collective. If you ❤️ this project consider becoming
a sponsor.
This project is sponsored by
The springdoc-openapi Java library helps automating the generation of API documentation using Spring Boot projects. springdoc-openapi works by examining an application at runtime to infer API semantics based on Spring configurations, class structure and various annotations.
The library automatically generates documentation in JSON/YAML and HTML formatted pages.
The generated documentation can be complemented using swagger-api
annotations.
This library supports:
The following video introduces the Library:
For spring-boot v3 support, make sure you use springdoc-openapi v2
This is a community-based project, not maintained by the Spring Framework Contributors (Pivotal)
server
: The server name or IPport
: The server portcontext-path
: The context path of the application/v3/api-docs.yaml
springdoc-openapi-ui
library to the list of your project dependencies (No
additional configuration is needed):Maven
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>last-release-version</version>
</dependency>
Gradle
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:latest'
# swagger-ui custom path
springdoc.swagger-ui.path=/swagger-ui.html
server
: The server name or IPport
: The server portcontext-path
: The context path of the application/v3/api-docs.yaml
Maven
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
<version>last-release-version</version>
</dependency>
Gradle
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:latest'
# /api-docs endpoint custom path
springdoc.api-docs.path=/api-docs
springdoc-openapi
endpoints, add a
custom springdoc property, in your spring-boot
configuration file:# disable api-docs
springdoc.api-docs.enabled=false
To generate documentation automatically, make sure all the methods declare the HTTP Code responses using the annotation: @ResponseStatus.
The library uses spring-boot application auto-configured packages to scan for the
following annotations in spring beans: OpenAPIDefinition and Info.
These annotations declare, API Information: Title, version, licence, security, servers,
tags, security and externalDocs.
For better performance of documentation generation, declare @OpenAPIDefinition
and @SecurityScheme
annotations within a Spring managed bean.
Maven
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webflux-ui</artifactId>
<version>last-release-version</version>
</dependency>
Gradle
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:latest'
# swagger-ui custom path
springdoc.swagger-ui.path=/swagger-ui.html
The springdoc-openapi
libraries are hosted on maven central repository.
The artifacts can be viewed accessed at the following locations:
Releases:
Snapshots:
springdoc-openapi is relevant and updated regularly due to the valuable contributions from its contributors.
Thanks you all for your support!