Bird
Raised Fist0
Spring Bootframework~10 mins

Swagger UI integration in Spring Boot - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to add the Swagger UI dependency in Maven's <dependencies> section.

Spring Boot
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>[1]</artifactId>
    <version>3.0.0</version>
</dependency>
Drag options to blanks, or click blank then click option'
Aspringfox-swagger-ui
Bspring-boot-starter-web
Cspringfox-swagger2
Dspring-boot-starter-actuator
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'springfox-swagger2' which is for Swagger core but not UI.
Using unrelated Spring Boot starters.
2fill in blank
medium

Complete the code to enable Swagger UI in a Spring Boot configuration class.

Spring Boot
@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.[1]("com.example"))
                .paths(PathSelectors.any())
                .build();
    }
}
Drag options to blanks, or click blank then click option'
AbasePackage
Bany
Cnone
Dregex
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'any' which selects all APIs without filtering.
Using 'regex' which requires a regex pattern, not a package string.
3fill in blank
hard

Fix the error in the Swagger UI URL path to access the documentation.

Spring Boot
http://localhost:8080/[1]
Drag options to blanks, or click blank then click option'
Aswagger-ui
Bapi-docs
Cv2/api-docs
Dswagger-ui.html
Attempts:
3 left
💡 Hint
Common Mistakes
Using '/swagger-ui' which is not the full path for the UI page.
Using '/v2/api-docs' which is the JSON endpoint, not the UI.
4fill in blank
hard

Fill both blanks to configure Swagger to only document APIs with paths starting with '/api'.

Spring Boot
return new Docket(DocumentationType.SWAGGER_2)
        .select()
        .apis(RequestHandlerSelectors.basePackage("com.example"))
        .paths(PathSelectors.[1]("[2]"))
        .build();
Drag options to blanks, or click blank then click option'
Aant
Bregex
C/api/**
D/api/.*
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'regex' with an ant-style pattern.
Using 'ant' with a regex pattern.
5fill in blank
hard

Fill all three blanks to customize the Swagger API info with title, description, and version.

Spring Boot
return new Docket(DocumentationType.SWAGGER_2)
        .apiInfo(new ApiInfoBuilder()
            .title("[1]")
            .description("[2]")
            .version("[3]")
            .build())
        .select()
        .apis(RequestHandlerSelectors.any())
        .paths(PathSelectors.any())
        .build();
Drag options to blanks, or click blank then click option'
AMy API
BThis API provides user data
C1.0.0
DSwagger UI
Attempts:
3 left
💡 Hint
Common Mistakes
Putting unrelated strings in the wrong fields.
Leaving version empty or using non-semantic versions.

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