Bird
Raised Fist0
Spring Bootframework~5 mins

Swagger UI integration in Spring Boot - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is Swagger UI used for in a Spring Boot project?
Swagger UI provides a visual interface to explore and test REST APIs directly from the browser, making it easier to understand and interact with the API endpoints.
Click to reveal answer
beginner
Which dependency is commonly added to a Spring Boot project to enable Swagger UI?
The 'springdoc-openapi-ui' dependency is commonly used to integrate Swagger UI with Spring Boot, providing automatic API documentation and UI.
Click to reveal answer
beginner
How do you access Swagger UI once integrated into a Spring Boot application?
After integration, Swagger UI is usually accessible at the URL path '/swagger-ui.html' or '/swagger-ui/index.html' in the running application.
Click to reveal answer
beginner
What annotation is used to mark a Spring Boot controller to be included in Swagger documentation?
The '@RestController' annotation marks a class as a REST controller, and Swagger automatically includes its endpoints in the documentation.
Click to reveal answer
intermediate
How can you customize the API information shown in Swagger UI in Spring Boot?
You can customize API info by creating a bean of type 'OpenAPI' and setting details like title, description, version, and contact information.
Click to reveal answer
Which dependency should you add to a Spring Boot project to enable Swagger UI?
Aorg.springframework.boot:spring-boot-starter-web
Borg.hibernate:hibernate-core
Corg.apache.commons:commons-lang3
Dorg.springdoc:springdoc-openapi-ui
What URL path typically shows the Swagger UI page in a Spring Boot app?
A/api-docs
B/swagger-ui.html
C/home
D/login
Which annotation is used to define a REST controller for Swagger to document?
A@RestController
B@Component
C@Entity
D@Service
How can you customize the API title and description in Swagger UI?
ABy creating an OpenAPI bean with custom info
BBy editing application.properties
CBy changing the main class name
DBy adding @CustomSwagger annotation
What is the main benefit of integrating Swagger UI in Spring Boot?
AFaster database queries
BImproved security
CVisual API documentation and testing
DAutomatic UI themes
Explain how to add Swagger UI to a Spring Boot project and access the API documentation.
Think about dependencies and the URL path for Swagger UI.
You got /3 concepts.
    Describe how to customize the API information shown in Swagger UI in Spring Boot.
    Customization involves creating a configuration bean.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the main purpose of integrating Swagger UI in a Spring Boot project?
      easy
      A. To improve database performance
      B. To generate frontend UI components
      C. To handle user authentication automatically
      D. To provide a web page that documents and allows testing of your API

      Solution

      1. Step 1: Understand Swagger UI's role

        Swagger UI creates a friendly web interface to view and test API endpoints.
      2. Step 2: Compare options

        Only To provide a web page that documents and allows testing of your API describes this purpose; others relate to unrelated features.
      3. Final Answer:

        To provide a web page that documents and allows testing of your API -> Option D
      4. Quick Check:

        Swagger UI = API documentation and testing [OK]
      Hint: Swagger UI = API docs + testing page [OK]
      Common Mistakes:
      • Confusing Swagger UI with database tools
      • Thinking Swagger handles authentication
      • Assuming Swagger generates frontend code
      2. Which dependency should you add to a Spring Boot project to enable Swagger UI with springdoc-openapi?
      easy
      A. springdoc-openapi-starter-webmvc-ui
      B. spring-boot-starter-data-jpa
      C. spring-boot-starter-web
      D. spring-security-oauth2-client

      Solution

      1. Step 1: Identify the correct starter for Swagger UI

        The springdoc-openapi-starter-webmvc-ui dependency enables Swagger UI integration in Spring Boot.
      2. Step 2: Eliminate unrelated dependencies

        Other options relate to web server, database, or security, not Swagger UI.
      3. Final Answer:

        springdoc-openapi-starter-webmvc-ui -> Option A
      4. Quick Check:

        Swagger UI dependency = springdoc-openapi-starter-webmvc-ui [OK]
      Hint: Use springdoc-openapi-starter-webmvc-ui for Swagger UI [OK]
      Common Mistakes:
      • Adding only spring-boot-starter-web without Swagger
      • Using database or security starters by mistake
      • Forgetting to add any Swagger-related dependency
      3. Given a Spring Boot app with springdoc-openapi-starter-webmvc-ui added, what URL should you visit to see the Swagger UI page?
      medium
      A. /openapi-ui/index.html
      B. /api-docs/swagger-ui.html
      C. /swagger-ui/index.html
      D. /swagger-ui.html

      Solution

      1. Step 1: Recall the default Swagger UI path

        springdoc-openapi serves Swagger UI at /swagger-ui/index.html by default.
      2. Step 2: Check other options

        Other URLs are incorrect or outdated paths for Swagger UI.
      3. Final Answer:

        /swagger-ui/index.html -> Option C
      4. Quick Check:

        Swagger UI URL = /swagger-ui/index.html [OK]
      Hint: Swagger UI default path ends with /swagger-ui/index.html [OK]
      Common Mistakes:
      • Using /swagger-ui.html which is deprecated
      • Confusing API docs JSON URL with UI URL
      • Trying /openapi-ui which is invalid
      4. You added springdoc-openapi-starter-webmvc-ui but visiting /swagger-ui/index.html shows 404 error. What is the most likely cause?
      medium
      A. You did not enable @EnableSwagger2 annotation
      B. You need to restart the Spring Boot app after adding dependency
      C. You forgot to add spring-boot-starter-web dependency
      D. Swagger UI is only available in Spring Boot 3.x and above

      Solution

      1. Step 1: Check common setup issues

        After adding a new dependency, the app must be restarted to load it properly.
      2. Step 2: Evaluate other options

        @EnableSwagger2 is not needed with springdoc-openapi; spring-boot-starter-web is usually present; Swagger UI works on Spring Boot 2.x too.
      3. Final Answer:

        You need to restart the Spring Boot app after adding dependency -> Option B
      4. Quick Check:

        Restart app after adding Swagger dependency [OK]
      Hint: Restart app after adding dependencies to avoid 404 [OK]
      Common Mistakes:
      • Thinking @EnableSwagger2 is required with springdoc-openapi
      • Missing spring-boot-starter-web (usually present)
      • Assuming Swagger UI needs Spring Boot 3 only
      5. You want to customize the Swagger UI page title and description in your Spring Boot app using springdoc-openapi. Which approach is correct?
      hard
      A. Add a bean of type OpenAPI and set info title and description
      B. Edit the swagger-ui.html file directly in resources
      C. Use @EnableSwagger2 annotation with title parameter
      D. Set springdoc.swagger-ui.title property in application.properties

      Solution

      1. Step 1: Understand customization with springdoc-openapi

        Customizing title and description is done by defining an OpenAPI bean with Info details.
      2. Step 2: Eliminate incorrect methods

        Editing swagger-ui.html is not recommended; @EnableSwagger2 is for older Swagger versions; springdoc.swagger-ui.title property does not exist.
      3. Final Answer:

        Add a bean of type OpenAPI and set info title and description -> Option A
      4. Quick Check:

        Customize Swagger UI via OpenAPI bean [OK]
      Hint: Customize Swagger UI by defining OpenAPI bean [OK]
      Common Mistakes:
      • Trying to edit swagger-ui.html manually
      • Using outdated @EnableSwagger2 annotation
      • Expecting a springdoc property for title customization
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard