OpenAPI 3.0 Documentation using springdoc
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 the below API's with OpenAPI 3.0 Annotations
- CleanupIndicies API
- PartitionSetup API
- Reindex API
- RecordIndexer API(Internal API, marked as 'Hidden' for documentation)
- Health Check API
- Info API
- 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/indexer/v2/swagger (will redirect to https://osdu-glab.msft-osdu-test.org/api/indexer/v2/swagger-ui/index.html)
- api-docs (JSON) : https://osdu-glab.msft-osdu-test.org/api/indexer/v2/api-docs
- api-docs (YAML) :https://osdu-glab.msft-osdu-test.org/api/indexer/v2/api-docs.yaml
Other Changes
- Configurable descriptions managed in swagger.properties
- Deleted HomeController
- Marked the 'WhoamiController' as 'Hidden' for documentation
- Updated Readme for swagger related information