-
Notifications
You must be signed in to change notification settings - Fork 315
feat: add Swagger OpenAPI to system REST bundle #5959
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
…t bundle - Add io.swagger.v3.oas.annotations package imports to test bundle manifest - Resolve missing dependency issue preventing test compilation and execution - Import all required Swagger v3 annotation packages with version 2.1.0 - Add comprehensive OpenAPI documentation configuration and README - Update main bundle manifest and POM with proper OpenAPI dependencies Fixes compilation errors in org.eclipse.kura.rest.system.provider.test when using classes from the host bundle that reference Swagger annotations. The test bundle (fragment) needs access to the same OpenAPI annotation packages that are used by the host bundle's SystemRestService class for proper test execution. Signed-off-by: MMaiero <[email protected]>
|
@salvatore-coppola Does this make sense as an initial effort (potentially to extend)? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds OpenAPI/Swagger documentation support to the Eclipse Kura System REST API bundle, enhancing developer experience by providing comprehensive API documentation, interactive testing capabilities, and client SDK generation support.
- Added OpenAPI annotations to existing REST endpoints for system properties
- Integrated Swagger dependencies and Maven plugin for documentation generation
- Created comprehensive OpenAPI configuration with security schemes and metadata
Reviewed Changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| SystemRestService.java | Added OpenAPI annotations to REST endpoints for comprehensive API documentation |
| OpenApiConfig.java | New configuration class defining API metadata, security schemes, and server information |
| FrameworkPropertiesDTO.java | Added schema annotations for API documentation |
| FilterDTO.java | Added schema annotations with detailed property descriptions and examples |
| pom.xml files | Added Swagger dependencies and Maven plugin for OpenAPI generation |
| MANIFEST.MF files | Added import packages for Swagger annotations |
| README-OpenAPI.md | Comprehensive documentation for OpenAPI integration and usage |
| .vscode/settings.json | Minor VS Code configuration update |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
|
|
||
| import io.swagger.v3.oas.annotations.media.Schema; | ||
|
|
||
| @SuppressWarnings("all") |
Copilot
AI
Aug 30, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using @SuppressWarnings("all") is overly broad and suppresses all warnings, which can hide legitimate issues. Consider using more specific warning suppressions or addressing the actual warnings instead.
| @SuppressWarnings("all") |
| @Path(REST_APP_ID) | ||
| @Tag(name = "System", description = "System information and properties API for Eclipse Kura gateway") | ||
| @SecurityRequirement(name = "basicAuth") | ||
| @SuppressWarnings("all") |
Copilot
AI
Aug 30, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using @SuppressWarnings("all") is overly broad and suppresses all warnings, which can hide legitimate issues. Consider using more specific warning suppressions or addressing the actual warnings instead.
| @SuppressWarnings("all") |
| * This class defines the overall API specification metadata, security schemes, | ||
| * and server information for the System API. | ||
| */ | ||
| @SuppressWarnings("all") |
Copilot
AI
Aug 30, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using @SuppressWarnings("all") is overly broad and suppresses all warnings, which can hide legitimate issues. Consider using more specific warning suppressions or addressing the actual warnings instead.
| @SuppressWarnings("all") |
|



Added OpenAPI mapping to improve user experience when working with Eclipse Kura REST apis