Fluxos funcionais do Core¶
O Core mantém Gateways, rotas e suas revisões por tenant. Esta seção cobre 51 operações HTTP em nove controllers, organizadas em 26 páginas de fluxos e subfluxos. As chamadas administrativas partem da fronteira HTTP do BFF; consumidores internos aparecem diretamente quando esse é o caminho implementado.
Para começar: cadastro de Gateway → categoria → cadastro e edição de rota → preparação da rota → publicação do Gateway.
Gateways¶
- Cadastro manual de Gateway
- Consulta de Gateways e revisões
- Edição de Gateway e criação de rascunho
- Habilitação e favoritos de Gateway
- Exclusão de Gateway
Revisões e publicação¶
- Publicação de Gateway e rotas
- Restauração de uma versão do Gateway
- Preparação e retirada de rota da publicação
- Restauração de revisão de rota
Rotas e organização¶
- Cadastro de rota
- Edição da configuração de rota
- Consulta de rotas e histórico
- Disponibilidade e exclusão de rota
- Remoção de um mapeamento de resposta
- Organização de rotas em categorias
Políticas e referências¶
Catálogo e instâncias¶
- Favoritos e aquisições do catálogo
- Instanciação de Gateway a partir de catálogo
- Consulta e preenchimento do wizard
- Continuação da configuração de instância
- Atualização da versão de template da instância
Consumidores internos e efeitos¶
- Leituras do Core durante a execução
- Eventos do Core e atualização da documentação OpenAPI
- Variáveis e exemplos para autoria de rota
- Participação do Core na importação
Como ler os fluxos¶
O BFF valida JWT e acesso ao aplicativo, resolve o tenant a partir de companyId e propaga x-tenant-id. Chamadas internas usam o tenant informado pelo consumidor. Isso não equivale, por si só, a autorização por recurso. As lifelines representam serviços; notas de subfluxo remetem às páginas vinculadas no texto, que detalham seus participantes. Blocos opt são condicionais; validadores CDI não têm uma ordem garantida. Uma resposta HTTP não aguarda os consumidores do Outbox, que podem executar concorrentemente à entrega dessa resposta.
Arquitetura lógica, BFF, modelos do Core e versionamento complementam os diagramas sem duplicar contratos e campos.
Cobertura das operações¶
O inventário abaixo usa os paths do Core, incluindo o prefixo /core. Os paths do BFF podem diferir: publicação/restauração de Gateway usam revision no singular e preparação de rota usa complete/uncomplete. Os GETs por estado e os endpoints de instanciação/upgrade incluem consumidores internos, sem pressupor uma tela correspondente.
Inventário completo: controller, método HTTP e fluxo
| Controller / método | Operação Core | Fluxo |
|---|---|---|
AuthorizationController.getUsageCount |
GET /core/api/v1/authorizations/{authorizationId}/usage-count |
Políticas, herança e contagem de vínculos |
CatalogController.favorite |
PUT /core/v1/catalog/{catalogItemId}/favorite |
Favoritos e aquisições do catálogo |
CatalogController.unfavorite |
DELETE /core/v1/catalog/{catalogItemId}/favorite |
Favoritos e aquisições do catálogo |
CatalogController.states |
POST /core/v1/catalog/items/state |
Favoritos e aquisições do catálogo |
CategoryController.create |
POST /core/api/v1/gateways/{gatewayId}/categories |
Organização de rotas em categorias |
CategoryController.update |
PATCH /core/api/v1/gateways/{gatewayId}/categories/{id} |
Organização de rotas em categorias |
CategoryController.findByGatewayId |
GET /core/api/v1/gateways/{gatewayId}/categories |
Organização de rotas em categorias |
CategoryController.delete |
DELETE /core/api/v1/gateways/{gatewayId}/categories/{id} |
Organização de rotas em categorias |
DiscoveryController.discover |
GET /core/api/v1/discovery |
Leituras do Core durante a execução |
DocumentationController.getGatewayDocumentation |
GET /core/api/v1/gateways/{gatewayId}/openapi-model |
Eventos do Core e atualização da documentação OpenAPI |
GatewayController.create |
POST /core/api/v1/gateways |
Cadastro manual de Gateway |
GatewayController.createFromTemplate |
POST /core/api/v1/gateways/from-template |
Instanciação de Gateway a partir de catálogo |
GatewayController.editGateway |
PATCH /core/api/v1/gateways/{id} |
Edição de Gateway e criação de rascunho |
GatewayController.editGatewayFromTemplateInstantiation |
PATCH /core/api/v1/gateways/{id}/template-instantiation |
Edição de Gateway e criação de rascunho |
GatewayController.setEnabled |
POST /core/api/v1/gateways/{id}/enabled |
Habilitação e favoritos de Gateway |
GatewayController.favorite |
POST /core/api/v1/gateways/{id}/favorite |
Habilitação e favoritos de Gateway |
GatewayController.unfavorite |
POST /core/api/v1/gateways/{id}/unfavorite |
Habilitação e favoritos de Gateway |
GatewayController.getWizard |
GET /core/api/v1/gateways/{gatewayId}/wizard |
Consulta e preenchimento do wizard |
GatewayController.patchWizard |
PATCH /core/api/v1/gateways/{gatewayId}/wizard |
Consulta e preenchimento do wizard |
GatewayController.delete |
DELETE /core/api/v1/gateways/{id} |
Exclusão de Gateway |
GatewayController.forceDelete |
DELETE /core/api/v1/gateways/{id}/force |
Exclusão de Gateway |
GatewayController.findById |
GET /core/api/v1/gateways/{id} |
Consulta de Gateways e revisões |
GatewayController.find |
GET /core/api/v1/gateways |
Consulta de Gateways e revisões |
GatewayController.listRevisions |
GET /core/api/v1/gateways/{gatewayId}/revisions |
Consulta de Gateways e revisões |
GatewayController.getRevision |
GET /core/api/v1/gateways/{gatewayId}/revisions/{revisionId} |
Consulta de Gateways e revisões |
GatewayController.getActiveRevision |
GET /core/api/v1/gateways/{gatewayId}/revisions/active |
Consulta de Gateways e revisões |
GatewayController.getDraftRevision |
GET /core/api/v1/gateways/{gatewayId}/revisions/draft |
Consulta de Gateways e revisões |
GatewayController.promoteRevision |
POST /core/api/v1/gateways/{gatewayId}/revisions/{revisionId}/promote |
Publicação de Gateway e rotas |
GatewayController.rollbackRevision |
POST /core/api/v1/gateways/{gatewayId}/revisions/{revisionId}/rollback |
Restauração de uma versão do Gateway |
RouteController.create |
POST /core/api/v1/gateways/{gatewayId}/routes |
Cadastro de rota |
RouteController.patch |
PATCH /core/api/v1/gateways/{gatewayId}/routes/{id} |
Edição da configuração de rota |
RouteController.patchFromTemplateInstantiation |
PATCH /core/api/v1/gateways/{gatewayId}/routes/{id}/template-instantiation |
Edição da configuração de rota |
RouteController.delete |
DELETE /core/api/v1/gateways/{gatewayId}/routes/{id} |
Disponibilidade e exclusão de rota |
RouteController.findById |
GET /core/api/v1/gateways/{gatewayId}/routes/{id} |
Consulta de rotas e histórico |
RouteController.find |
GET /core/api/v1/gateways/{gatewayId}/routes |
Consulta de rotas e histórico |
RouteController.listRevisions |
GET /core/api/v1/gateways/{gatewayId}/routes/{routeId}/revisions |
Consulta de rotas e histórico |
RouteController.getRevision |
GET /core/api/v1/gateways/{gatewayId}/routes/{routeId}/revisions/{revisionId} |
Consulta de rotas e histórico |
RouteController.getActiveRevision |
GET /core/api/v1/gateways/{gatewayId}/routes/{routeId}/revisions/active |
Leituras do Core durante a execução |
RouteController.getDraftRevision |
GET /core/api/v1/gateways/{gatewayId}/routes/{routeId}/revisions/draft |
Consulta de rotas e histórico |
RouteController.getPublishableRevision |
GET /core/api/v1/gateways/{gatewayId}/routes/{routeId}/revisions/publishable |
Consulta de rotas e histórico |
RouteController.setEnabled |
POST /core/api/v1/gateways/{gatewayId}/routes/{id}/enabled |
Disponibilidade e exclusão de rota |
RouteController.markAsPublishable |
POST /core/api/v1/gateways/{gatewayId}/routes/{routeId}/revisions/mark-publishable |
Preparação e retirada de rota da publicação |
RouteController.unmarkPublishable |
POST /core/api/v1/gateways/{gatewayId}/routes/{routeId}/revisions/unmark-publishable |
Preparação e retirada de rota da publicação |
RouteController.rollbackRevision |
POST /core/api/v1/gateways/{gatewayId}/routes/{routeId}/revisions/{revisionId}/rollback |
Restauração de revisão de rota |
RouteController.deleteResponseById |
DELETE /core/api/v1/gateways/{gatewayId}/routes/{routeId}/revisions/{revisionId}/responses/{responseId} |
Remoção de um mapeamento de resposta |
RouteQueryController.countByRateLimit |
POST /core/api/v1/routes/count-by-rate-limit |
Políticas, herança e contagem de vínculos |
RouteQueryController.countByIpPolicy |
POST /core/api/v1/routes/count-by-ip-policy |
Políticas, herança e contagem de vínculos |
TemplateUpgradeController.context |
GET /core/api/v1/gateways/{gatewayId}/template-upgrade/context |
Atualização da versão de template da instância |
TemplateUpgradeController.validate |
POST /core/api/v1/gateways/{gatewayId}/template-upgrade/validate |
Atualização da versão de template da instância |
TemplateUpgradeController.prepare |
POST /core/api/v1/gateways/{gatewayId}/template-upgrade/prepare |
Atualização da versão de template da instância |
TemplateUpgradeController.apply |
POST /core/api/v1/gateways/{gatewayId}/template-upgrade/{operationId}/apply |
Atualização da versão de template da instância |
Limites funcionais¶
Todas as operações expostas pelos controllers do Core estão mapeadas acima. Consultas simples e controles de flags foram agrupados; não há páginas vazias por endpoint. Não foi encontrado endpoint de descontinuação explícita de Gateway nem de promoção individual de rota a ACTIVE. DEPRECATED decorre das transições e ACTIVE das rotas decorre da publicação do Gateway.
O cliente administrativo disponível confirma as entradas usuais de Gateways, rotas, categorias, catálogo e wizard. Ele permanece um ator externo, sem documentação de implementação frontend. A chamada de promoção individual de rota presente em seu código não tem endpoint correspondente no BFF/Core analisados; o caminho documentado é concluir a rota e publicar o Gateway. Operações internas, v2 de variáveis e chamadas de bibliotecas não são apresentadas como ações de tela confirmadas.
As páginas de importação, templates e projeção OpenAPI delimitam a colaboração com o Core; autoria de templates, execução completa do Data Plane e operação interna dos demais microserviços permanecem fora desta etapa.
Base de código e testes consultados
Análise estática do checkout em 2026-10-19: Core 4138c75, BFF 4c0161a, Template Service 83981db, Importer b682c98, Discovery 0f962a2, Builder fe44ac9, Outbox Dispatcher e46f47d e OpenAPI Doc 7088f47. Os serviços foram mantidos somente para leitura. Referências de implementação estão recolhidas ao fim de cada página.
- VersionizingGatewayWorkflowTest.java
- VersionizingRouteWorkflowTest.java
- TemplateUpgradeServiceTest.java
- TemplateUpgradeApplicationServiceTest.java
- GatewayWizardServiceTest.java
- CategoryServiceTest.java
- CatalogItemStateServiceTest.java
- DiscoveryReferenceContractTest.java
Os testes foram consultados como evidência, sem execução de serviços, chamadas de escrita ou testes que alterem ambientes.