Generate Swagger using springdoc-openapi OAS 3.0
Link to ADR(Architecture Decision Record) : Swagger using springdoc-openapi
OpenAPI 3.0 related changes
- upgraded to latest springdoc openapi latest version 1.6.14
- used @OpenAPIDefinition annotation to populate OpenAPI Object fields [info, tags, servers, security]
- Documented below API's with OpenAPI 3.0 Annotations
- AddMemberApi
- CreateGroupApi
- DeleteGroupApi
- DeleteMemberApi
- HealthChecksApi
- InfoApi
- InitApi
- ListGroupApi
- ListGroupOnBehalfOfApi
- ListMemberApi
- RemoveMemberApi
- UpdateGroupApi
- Added the standard HTTP Response(4xx, 5x****x) for API Responses
- Custom Path for
- Swagger UI: https://host/context-path/swagger (will redirect to https://host/context-path/swagger-ui/index.html)
- api-docs (JSON) : https://host/context-path/api-docs
- api-docs (YAML) : https://host/context-path/api-docs.yaml
-
Azure Swagger GLAB(for Reference)
- Swagger UI: https://osdu-glab.msft-osdu-test.org/api/entitlements/v2/swagger (will redirect to https://osdu-glab.msft-osdu-test.org/api/entitlements/v2/swagger-ui/index.html)
- api-docs (JSON) : https://osdu-glab.msft-osdu-test.org/api/entitlements/v2/api-docs
- api-docs (YAML) : https://osdu-glab.msft-osdu-test.org/api/entitlements/v2/api-docs.yaml
Other Changes
- Configurable descriptions managed in swagger.properties
- added Integration Test cases for Swagger-UI, api-docs endpoints
- Marked GlobalErrorController as Hidden
- Deleted HomeController
- Updated Readme for swagger related information
References
Edited by Thulasi Dass Subramanian