Class InfoController
/info de fallback com a versão em runtime — shape plano {versao}, paralelo ao
HealthController flat. Existe porque o InfoEndpoint do micronaut-management (alimentado
pelo VersaoInfo InfoSource) não registra a rota sob native-image (AOT) →
GET /info dá 404 no binário native enquanto funciona no jar. Este controller flat responde
igual nos dois (jar e native).
Sem @Requires de propósito — a condição é o que quebrava sob AOT. A tentativa
anterior (@Requires(property = "endpoints.info.enabled", value = "false")) NÃO sobrevive ao
native-image: o @Requires de classe num @Controller é avaliado em build-time pelo
AOT e a bean/rota é podada — mesmo com a property false em runtime, GET /info
ficava 404 sob native (provado jar×native no e2e-central; o jar registrava, o native não). Por isso o
controller é incondicional: a rota entra no grafo AOT sempre, idêntica jar↔native.
Contrato do consumidor: o app que usa a comum-web desliga o management
(endpoints.info.enabled: false e endpoints.health.enabled: false) — norma da casa pra
observabilidade native-safe. Sem isso, o /info do management (default-on) e este flat colidem
(Micronaut responde 400 em rota duplicada). A comum-web assume esse contrato.
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
InfoController
public InfoController()Construtor padrão.
-