How gravitee-io/gravitee-api-management works
Gravitee APIM is a platform for managing APIs and exposing them through a gateway, with an administrative console and a developer portal. The principal user workflow is to manage and publish APIs in the console, then let developers discover APIs in the portal and subscribe to them; the gateway handles API access. The graph includes the sampled portal routing and service/query layers, plus documented product surfaces. Many server-side and gateway relationships are not established by the excerpts, so those connections are left out rather than inferred.
Main entry points: Api.java API domain model · app.module.ts Management console · app.routes.ts Developer portal · Application.ts Application model
Components 24
Administration
- Management console
gravitee-apim-console-webui/src/app.module.ts - Application client
gravitee-apim-console-webui/src/services-ngx/application.service.ts - Legacy app client
gravitee-apim-console-webui/src/services/application.service.ts - Analytics dashboards
gravitee-apim-console-webui/src/components/dashboard/dashboard.component.ts - Alert management
gravitee-apim-console-webui/src/components/alerts/alerts.component.ts
Developer Portal
- Developer portal
gravitee-apim-portal-webui-next/src/app/app.routes.ts - API catalog
gravitee-apim-portal-webui-next/src/app/app.routes.ts - API details
- API subscription
gravitee-apim-portal-webui-next/src/app/api/subscribe-to-api/subscribe-to-api.component.ts - Portal API client
gravitee-apim-portal-webui/projects/portal-webclient-sdk/src/lib/api/application.service.ts
Management Services
- Management API
gravitee-apim-rest-api/gravitee-apim-rest-api-common/src/main/java/io/gravitee/apim/rest/api/common/apiservices/ManagementApiService.java - API search
gravitee-apim-rest-api/gravitee-apim-rest-api-service/src/main/java/io/gravitee/apim/core/api/query_service/ApiPortalSearchQueryService.java - Portal navigation queries
gravitee-apim-rest-api/gravitee-apim-rest-api-service/src/main/java/io/gravitee/apim/core/portal_page/query_service/PortalNavigationItemsQueryService.java - Automation navigation
gravitee-apim-rest-api/gravitee-apim-rest-api-service/src/main/java/io/gravitee/apim/core/portal/query_service/AutomationManagedNavigationItemsQueryService.java
API Runtime
- API gateway
gravitee-apim-gateway/gravitee-apim-gateway-reporting/src/main/java/io/gravitee/gateway/report/ReporterService.java
Domain Model
- API domain model
gravitee-apim-rest-api/gravitee-apim-rest-api-service/src/main/java/io/gravitee/apim/core/api/model/Api.java - Application model
gravitee-apim-console-webui/src/entities/application/Application.ts - Paged results
gravitee-apim-console-webui/src/entities/pagedResult.ts - API definitions
gravitee-apim-definition/gravitee-apim-definition-model/src/main/java/io/gravitee/definition/model/DefinitionVersion.java - Native API model
gravitee-apim-definition/gravitee-apim-definition-model/src/main/java/io/gravitee/definition/model/v4/nativeapi/NativeApi.java - Organization model
gravitee-apim-repository/gravitee-apim-repository-api/src/main/java/io/gravitee/repository/management/model/Organization.java - Domain service marker
gravitee-apim-common/src/main/java/io/gravitee/apim/core/DomainService.java
Other components
- API administrator
- API developer
Connections 14
- API administrator → Management console: manages APIs
- API developer → Developer portal: discovers APIs
- Management console → Management API: manages APIs
- Developer portal → API details: routes API views
gravitee-apim-portal-webui-next/src/app/app.routes.ts - API catalog → API details: routes API details
gravitee-apim-portal-webui-next/src/app/app.routes.ts - API developer → API subscription: requests subscription
- Application client → Application model: uses model
gravitee-apim-console-webui/src/services-ngx/application.service.ts - Legacy app client → Paged results: returns pages
gravitee-apim-console-webui/src/services/application.service.ts - Portal API client → Application model: uses model
gravitee-apim-portal-webui/projects/portal-webclient-sdk/src/lib/api/application.service.ts - API search → API domain model: returns APIs
gravitee-apim-rest-api/gravitee-apim-rest-api-service/src/main/java/io/gravitee/apim/core/api/query_service/ApiPortalSearchQueryService.java - Automation navigation → Portal navigation queries: queries navigation
gravitee-apim-rest-api/gravitee-apim-rest-api-service/src/main/java/io/gravitee/apim/core/portal/query_service/AutomationManagedNavigationItemsQueryService.java - API gateway → API domain model: serves managed APIs
- API domain model → API definitions: has definition version
gravitee-apim-rest-api/gravitee-apim-rest-api-service/src/main/java/io/gravitee/apim/core/api/model/Api.java - Native API model → API definitions: uses definition model