Skip to content

Conversation

@ymarcon
Copy link
Member

@ymarcon ymarcon commented Jan 21, 2026

Summary

This PR adds comprehensive OpenAPI 3.0 documentation to all Java REST endpoints that have @tag annotations across all Opal modules.

Changes Made

  • Added @operation annotations with meaningful summaries and descriptions
  • Added @ApiResponses annotations covering all HTTP response scenarios
  • Enhanced API documentation for developers using Swagger/OpenAPI tools

Modules Processed

  • opal-search (8 files) - Search service endpoints
  • opal-r (13 files) - R service management endpoints
  • opal-datashield (8 files) - DataSHIELD functionality endpoints
  • opal-ws (12 files) - Application and service management endpoints
  • opal-shell (15 files) - Shell command and task execution endpoints
  • opal-core-ws (16+ files) - Core system, security, and project management endpoints

Technical Details

  • 74 files changed with 1,734 insertions
  • Added required Swagger imports: @Operation, @ApiResponse, @ApiResponses
  • Each HTTP method (@get, @put, @post, @delete) now has:
    • Clear summary and detailed description
    • Comprehensive response code coverage (200, 201, 204, 400, 403, 404, 409, 500)

Verification

  • All changes compile successfully with Maven
  • Follows established patterns and OpenAPI 3.0 standards
  • Maintains backward compatibility

Impact

  • Makes Opal API self-documenting and discoverable
  • Improves developer experience with auto-generated API docs
  • Enables better integration testing and API exploration

…endpoints

- Added comprehensive OpenAPI 3.0 documentation to all Java classes with @tag annotations
- Processed 6 modules: opal-search, opal-r, opal-datashield, opal-ws, opal-shell, opal-core-ws
- Added @operation annotations with meaningful summaries and descriptions
- Added @ApiResponses annotations covering success and error scenarios
- Enhanced API documentation for search, R service, DataSHIELD, applications, shell commands, and core system endpoints
- All changes compile successfully with Maven
…esource classes

- Added comprehensive OpenAPI 3.0 documentation to all 12 PermissionsResource classes
- Enhanced permissions management API documentation across:
  * DataShield permissions (system and profile level)
  * R service permissions
  * Administration permissions
  * Project resource, subject, table, variable, VCF store, and datasource permissions
- Added @operation annotations with clear permission management descriptions
- Added @ApiResponses annotations covering all success and error scenarios
- 11 files changed with 280 insertions
- All changes compile successfully with Maven
…ndpoints

- Added @operation and @apiresponse annotations to 33 additional files across all modules
- Enhanced API documentation for:
  * R session and symbol management (opal-r module)
  * DataSHIELD options, symbols, and environments (opal-datashield module)
  * System subjects, bookmarks, SQL history, and taxonomy (opal-core-ws module)
  * Data tables, variables, views, and mathematical summaries (opal-core-ws magma module)
  * Base resource functionality (opal-core-ws module)
- 33 files changed with 720 insertions
- All annotations provide domain-specific descriptions and comprehensive response codes
- Complete OpenAPI 3.0 documentation coverage across entire Opal REST API
- All changes compile successfully with Maven
…orization, taxonomy, and analysis resources

- Added @operation and @apiresponse annotations to AuthenticationProvidersResource
- Added @operation and @apiresponse annotations to AuthorizationQueryResource
- Enhanced TaxonomiesResource with missing method documentation
- Added comprehensive documentation to TableAnalysisResource with all analysis CRUD operations
- Added detailed documentation to ProjectResourceReferenceResource and ProjectResourceReferencesResource
- Added documentation to CryptoResource for encryption/decryption operations
- Enhanced IdentifiersMappingResource and IdentifiersMappingsResource with complete API docs
- Added VCF store documentation to ProjectVCFStoreResource

Total: 28 additional resource classes with 650+ new documentation lines
All endpoints now self-documenting for OpenAPI 3.0/Swagger compatibility
@ymarcon ymarcon merged commit d1c5cab into master Jan 22, 2026
2 checks passed
@ymarcon ymarcon deleted the feature/add-swagger-api-documentation branch January 22, 2026 11:37
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.

2 participants