Zum Hauptinhalt springen
tsecurity.de LIVE
Echtzeit-Radar & Feeds
Alle RSS Feeds
👥 Community & Social
IT NachrichtenPeloton has made a foldable (treadmill)(22.09.2026 um 13:00 Uhr)
IT NachrichtenPeloton has made a foldable (treadmill)(22.09.2026 um 13:00 Uhr)
Intelligence View
⚡ tsecurity.de Intelligence

Integrating OpenAPI Documentation and Swagger UI in Spring Boot

In modern API development, OpenAPI documentation and Swagger UI are very powerful tools. It is very useful for documenting and testing the APIs. In this article, we will learn to integrate OpenAPI docs and Swagger UI into our Spring Boot 3…

0
↗ Quelle (dev.to)
Reagiere als Erste:r — dein Feedback zählt!

In modern API development, OpenAPI documentation and Swagger UI are very powerful tools. It is very useful for documenting and testing the APIs. In this article, we will learn to integrate OpenAPI docs and Swagger UI into our Spring Boot 3 project.






OpenAPI



According to the official documentation,

OpenAPI Specification (formerly Swagger Specification) is an API description format for REST APIs.

An OpenAPI file allows you to describe your entire API, including:




  • Available endpoints (/users) and operations on each endpoint (GET /users, POST /users)

  • Operation parameters Input and output for each operation

  • Authentication methods

  • Contact information, license, terms of use, and other information.



This documentation is written in YAML or JSON.





Swagger



Swagger is a set of open-source tools built around the OpenAPI Specification that can help you design, build, document, and consume REST APIs.





springdoc-openapi



springdoc-openapi java library used to automate the generation of API documentation in spring boot projects. This library automatically generates API documentation in JSON/YAML and HTML format APIs.





Let's get started



We will explore how to integrate the OpenAPI documentation and Swagger UI into a Spring Boot 3 project using the springdoc-openapi.





Requirements



Before diving into the integration, ensure you have the following:




  • Java Development Kit (JDK) 17 or later

  • Spring Boot 3.x

  • Maven or Gradle

  • IDE (e.g., IntelliJ IDEA, Eclipse)





Add Dependencies



First, we need to determine the appropriate version of the springdoc-openapi-starter-webmvc-ui dependency according to the Spring Boot version. You can see the details of the version in the following link.



The compatibility matrix of springdoc-openapi with spring-boot



At this moment, I am using Spring Boot 3.4.1. So, according to the official documentation of the springdoc the version of springdoc-openapi-starter-webmvc-ui is 2.7.0.



Let's add the dependency.



Maven



Add the following dependencies to your pom.xml:




<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui<artifactId>
<version>2.7.0</version>
</dependency>






Gradle



If you’re using Gradle, include the dependency in your build.gradle:




implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.7.0'






That's it. We have integrated OpenAPI Docs and Swagger UI into our Spring Boot project.






Verifying the Swagger UI and OpenAPI doc



Open a browser, and enter the following URL:

http://localhost:8080/swagger-ui/index.html



Now, you can see the Swagger UI. Here you can see the API you have built.



To verify the OpenAPI Doc, visit the following URL,

http://localhost:8080/v3/api-docs





Customizing the paths



We can customize the default path for OpenAPI doc and Swagger UI.



To customize the default endpoints, add the following code to the application.properties file.




# Custom path for the API docs
springdoc.api-docs.path=/api-docs

# Custom path for the Swagger UI
springdoc.swagger-ui.path=/swagger-ui.html






api-docs.path: Specifies the URL path for the OpenAPI documentation.



swagger-ui.path: Sets the URL path for accessing Swagger UI.






Enhance Your Documentation (Optional)



You can enrich your API documentation with additional details using various annotations:



@Tag: Group APIs by functionality.



@Parameter: Describe query or path parameters.



@RequestBody: Document the request body format.



@ApiResponse: Document possible responses



@Schema: Describe the models






Example with Enhanced Annotations:






ProductController.java






import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;

@RestController
@RequestMapping("/api/v1/products")
@Tag(name = "Product Management", description = "Operations related to products")

public class ProductController {

@Operation(summary = "Get product details", description = "Fetch details of a product by its ID.")
@ApiResponses(value = {
@ApiResponse(
responseCode = "200", description = "Product found",
content = @Content(
schema = @Schema(implementation = Product.class)
)
),
@ApiResponse(
responseCode = "404",
description = "Product not found"
)
})
@GetMapping("/{id}")
public Product getProductById(@PathVariable Long id) {
return new Product(id, "Sample Product", 100.0);
}
}









Product.java






class Product {
private Long id;
private String name;
private Double price;

// Constructor, getters, and setters omitted for brevity.
}









Customize OpenAPI Configuration (Optional)



You can define custom metadata for your OpenAPI documentation by creating a configuration class. Here's an example:






OpenAPIConfig.java






import io.swagger.v3.oas.models.ExternalDocumentation;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.info.License;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class OpenAPIConfig {

@Bean
public OpenAPI customOpenAPI() {
return new OpenAPI()
.info(new Info().title("API Title Example")
.description("API Description Example")
.version("API Version")
.contact(new Contact()
.name("API Contact Name")
.url("https://api.contact.url")
.email("[email protected]"))
.termsOfService("https://api.terms.of.service")
.license(new License()
.name("API License")
.url("https://api.license.url")))
.externalDocs(new ExternalDocumentation()
.description("API External Documentation")
.url("https://api.external.documentation.url"));
}
}






This configuration adds details such as the API title, description, version, contact information, terms of service, license, and external documentation links.






Conclusion



We can see that, adding OpenAPI docs and SWagger UI is very simple. We can easily integrate this dependency to enhance our API documentation and testing.

Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Integrating OpenAPI Documentation and Swagger UI in Spring Boot

Thematisch verwandte Begriffe: Integrating, OpenAPI, Documentation, Swagger · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-94493 | A vulnerability was detected in Gigatech PDV5701 1.0.31_240305_112640. T…
Advisory →
TTS Reader • tsecurity.de Voice
tsecurity.de Icon
tsecurity.de App
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag
Themen-Radar & Intelligence Matrix
Echtzeit-Taxonomie nach Angriffsvektoren & Plattformen

tsecurity.de Live Threat Radar

🔴 LIVE RADAR
MONITORING
AKTIV
CVE-DATENBANK
LIVE
🔍
Community Radar & Live Chat
Sentinel Bot online • Live-Stream
Dein Cluster: Security Explorer
Match:
lädt…
Verbindung zum Community-Stream wird aufgebaut...
Bearbeitungsmodus — Senden überschreibt deine Nachricht
Community-Puls — was gerade passiert
lädt…
Aktivitäten deiner Analysten
lädt…
Neues Thema oder Eilmeldung einreichen

Reiche interessante Links, Zero-Days oder Debatten ein. Die Community entscheidet per Upvote über die Veröffentlichung.

Heiß diskutierte Einreichungen
🔖 Gespeicherte Artikel
📂 Keine gespeicherten Artikel vorhanden.
Zurück Ziehen Vor
Links: vorheriger Artikel Rechts: nächster Artikel unten: schließen
News NIS-2 Frühwarnung Tier-1 Intel ⏱️ 3 Min vor 10 Min
Artikeldaten werden geladen...

Zurück: vorheriger Vor: nächster
↗ Original-Quelle
Social Reaktionen Deine Reaktion zählt
Einstufung & Relevanz-Poll 0 Stimmen
In sozialen Netzwerken teilen 1-Klick