DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Newsletter
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • RESTful Web Services: How To Create a Context Path for Spring Boot Application or Web Service
  • Leveraging Salesforce Using Spring Boot
  • Spring Boot - How To Use Native SQL Queries | Restful Web Services
  • How To Build Web Service Using Spring Boot 2.x

Trending

  • Moving 900+ GB of Prometheus Without a Cutover Weekend
  • Why Vulnerability Management Fails Without Reliable Asset Data
  • Solving Comprehension Debt in AI-Generated Codebases
  • PII Detection Before RAG Ingestion: Screening Documents in C#

Draft This article hasn't been published, so readers can't see it.

In moderation This article is waiting for review, so readers can't see it yet.

Deleted This article has been deleted, so readers can't see it.

  1. DZone
  2. Coding
  3. Frameworks
  4. How to configure Swagger to generate Restful API Doc for your Spring Boot Web Application

How to configure Swagger to generate Restful API Doc for your Spring Boot Web Application

Learn How to Enable Swagger in your Spring Boot Web Application

By 
Saurabh Chhajed
·
Aug. 26, 14 · Tutorial
Post on X (opens in a new tab) Share on LinkedIn (opens in a new tab)
128.8K Views

Join the DZone community Save articles, join the discussion, and download Refcards and Trend Reports with a free account.

Join for free Already a member? Log in

“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.”
– Martin Fowler

What is Swagger?

Swagger is a specification and complete framework implementation for describing, producing, consuming, and visualizing RESTful web services. The goal of Swagger is to enable client and documentation systems to update at the same pace as the server. The documentation of methods, parameters, and models are tightly integrated into the server code, allowing APIs to always stay in sync.

Why is Swagger useful?

The Swagger framework simultaneously solves server, client, and documentation/sandbox needs.

With Swagger’s declarative resource specification, clients can understand and consume services without knowledge of server implementation or access to the server code. The Swagger UI framework allows both developers and non-developers to interact with the API in a sandbox UI that gives clear insight into how the API responds to parameters and options.

Swagger happily speaks both JSON and XML, with additional formats in the works.

How to Enable Swagger in your Spring Boot Web Application ?

Step 1 : Include Swagger Spring MVC dependency in Maven

<dependency>
    <groupId>com.mangofactory</groupId>
    <artifactId>swagger-springmvc</artifactId>
    <version>0.8.8</version>
</dependency>

Step 2 : Create Swagger Java Configuration

  • Use the @EnableSwagger annotation.
  • Autowire SpringSwaggerConfig.
  • Define one or more SwaggerSpringMvcPlugin instances using springs @Bean annotation.
@Configuration
@EnableSwagger
public class SwaggerConfig {
private SpringSwaggerConfig springSwaggerConfig;
@Autowired
public void setSpringSwaggerConfig(SpringSwaggerConfig springSwaggerConfig) {
this.springSwaggerConfig = springSwaggerConfig;
}
@Bean
// Don't forget the @Bean annotation
public SwaggerSpringMvcPlugin customImplementation() {
return new SwaggerSpringMvcPlugin(this.springSwaggerConfig).apiInfo(
apiInfo()).includePatterns("/saurzcode/.*");
}
private ApiInfo apiInfo() {
ApiInfo apiInfo = new ApiInfo("SaurzCode API", "API for Saurzcode",
"Saurzcode API terms of service", "[email protected]",
"Saurzcode API Licence Type", "Saurzcode API License URL");
return apiInfo;
}
}

Step 3 : Create Swagger UI using WebJar

<repository>
 <id>oss-jfrog-artifactory</id>
 <name>oss-jfrog-artifactory-releases</name>
 <url>http://oss.jfrog.org/artifactory/oss-release-local</url>
 </repository>
<dependency>
 <groupId>org.ajar</groupId>
 <artifactId>swagger-spring-mvc-ui</artifactId>
 <version>0.1</version>
 <scope>compile</scope>
 </dependency>

Verify the API Configuration at  – http://localhost:8080/api-docs

You can see the Swagger API Docs at  http://localhost:8080/index.html

Swagger API Doc


Complete project is available at GitHub.

https://github.com/saurzcode/saurzcode-swagger-spring/

References :

  • https://github.com/martypitt/swagger-springmvc
  • https://helloreverb.com/developers/swagger/

Originally Shared at : 

http://saurzcode.in/2014/08/19/how-to-configure-swagger-to-generate-restful-api-doc-for-your-spring-boot-web-application/  

API Spring Framework Spring Boot Web application application Web Service REST Doc (computing) Web Protocols

Published at DZone with permission of Saurabh Chhajed. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • RESTful Web Services: How To Create a Context Path for Spring Boot Application or Web Service
  • Leveraging Salesforce Using Spring Boot
  • Spring Boot - How To Use Native SQL Queries | Restful Web Services
  • How To Build Web Service Using Spring Boot 2.x

Partner Resources

×

Comments

Loading comments

The comments didn't load

Please try again in a moment.

Likes

Loading

The next likes didn't load. Please try again.

The likes didn't load

Please try again in a moment.

See who liked this

Log in or join DZone for free to see who liked this article.

Log in Join for free
  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook