Skip to content

Conversation

@devin-ai-integration
Copy link

Migrate from Springfox to SpringDoc OpenAPI for Java 11 compatibility

Summary

This PR migrates the banking application's API documentation from Springfox (v2.9.2) to SpringDoc OpenAPI (v1.7.0) as part of the Java 8 to Java 11 migration. Springfox has known compatibility issues with Java 11+, while SpringDoc OpenAPI provides modern OpenAPI v3 support with automatic documentation generation from Spring Web annotations.

Key Changes:

  • Dependencies: Removed springfox-swagger2 and springfox-swagger-ui, added springdoc-openapi-ui (v1.7.0)
  • Configuration: Deleted ApplicationConfig.java - SpringDoc auto-generates documentation without explicit configuration
  • Controllers: Removed all Springfox annotations (@Api, @ApiOperation, @ApiResponse, @ApiResponses) from AccountController and CustomerController

The Swagger UI is now accessible at the same location: http://localhost:8989/bank-api/swagger-ui/index.html

Review & Testing Checklist for Human

  • API Documentation Completeness: Compare the new Swagger UI against the previous version to ensure all endpoints are documented with adequate descriptions and parameter details
  • End-to-End Application Testing: Verify the banking application functions correctly - test customer creation, account operations, and transactions through the API
  • Swagger UI Functionality: Test the interactive Swagger UI - try executing API calls directly from the documentation interface
  • Build & Startup: Confirm mvn clean install passes and application starts without errors on port 8989

Notes

  • SpringDoc OpenAPI auto-generates OpenAPI v3 specification from existing Spring Web annotations (@RestController, @RequestMapping, etc.)
  • The migration removes manual API documentation configuration in favor of convention-based generation
  • This change supports the broader Java 8 → Java 11 migration effort

Link to Devin run: https://app.devin.ai/sessions/3e435ce2bb294951b0e2ba3c8e747860
Requested by: Jaime Mizrachi (@jaime-leo)

- Remove springfox-swagger2 (2.9.2) and springfox-swagger-ui (2.10.0) dependencies
- Add springdoc-openapi-ui (1.7.0) dependency
- Delete ApplicationConfig.java (Springfox configuration)
- Remove Springfox annotations from AccountController and CustomerController
- SpringDoc auto-generates OpenAPI v3 documentation from Spring Web annotations

Verified:
- Build passes: mvn clean install
- Application starts successfully on port 8989
- Swagger UI accessible at http://localhost:8989/bank-api/swagger-ui/index.html
- All endpoints properly documented in OpenAPI v3 format

Co-Authored-By: Jaime Mizrachi <[email protected]>
@devin-ai-integration
Copy link
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@devin-ai-integration devin-ai-integration bot changed the base branch from dependabot/maven/io.springfox-springfox-swagger-ui-2.10.0 to master October 7, 2025 15:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant