O endpoint de informações fornece dados sobre a versão da aplicação, Java runtime e configurações do sistema.
Visão Geral
Este endpoint do Spring Boot Actuator fornece informações úteis sobre:
- Versão - Versão atual da aplicação
- Build - Informações de compilação
- Java - Versão e detalhes do runtime
- Sistema - Sistema operacional e arquitetura
Endpoint Público
Este endpoint não requer autenticação e está disponível publicamente.
curl -X GET https://api.disparador.com/actuator/info
Response
Informações da aplicação
Versão atual da aplicação
Informações do sistema operacional
Nome do sistema operacional
Arquitetura (amd64, arm64, etc)
{
"app": {
"name": "disparador-api",
"description": "Sistema de disparo de mensagens via WhatsApp",
"version": "2.1.0",
"timezone": "America/Sao_Paulo"
},
"build": {
"artifact": "disparador-api",
"name": "disparador-api",
"time": "2024-01-20T10:30:00.000Z",
"version": "2.1.0",
"group": "com.disparador"
},
"java": {
"version": "17.0.10",
"vendor": "Eclipse Adoptium",
"runtime": {
"name": "OpenJDK Runtime Environment",
"version": "17.0.10+7"
},
"jvm": {
"name": "OpenJDK 64-Bit Server VM",
"vendor": "Eclipse Adoptium",
"version": "17.0.10+7"
}
},
"os": {
"name": "Linux",
"version": "6.8.0",
"arch": "amd64"
},
"process": {
"pid": 1
}
}
Uso Comum
Verificar Versão
async function checkVersion(requiredVersion) {
const response = await fetch('https://api.disparador.com/actuator/info');
const info = await response.json();
const currentVersion = info.app?.version || '0.0.0';
const [curMajor, curMinor, curPatch] = currentVersion.split('.').map(Number);
const [reqMajor, reqMinor, reqPatch] = requiredVersion.split('.').map(Number);
if (curMajor < reqMajor) return false;
if (curMajor > reqMajor) return true;
if (curMinor < reqMinor) return false;
if (curMinor > reqMinor) return true;
return curPatch >= reqPatch;
}
// Verificar se API está na versão 2.0.0 ou superior
const isCompatible = await checkVersion('2.0.0');
if (!isCompatible) {
console.warn('API em versão incompatível!');
}
async function displaySystemInfo() {
const response = await fetch('https://api.disparador.com/actuator/info');
const info = await response.json();
const dashboard = {
'Aplicação': info.app?.name || 'Desconhecida',
'Versão': info.app?.version || 'N/A',
'Java': info.java?.version || 'N/A',
'SO': `${info.os?.name} ${info.os?.version}` || 'N/A',
'Arquitetura': info.os?.arch || 'N/A',
'Timezone': info.app?.timezone || 'UTC',
'Build Time': info.build?.time ? new Date(info.build.time).toLocaleString() : 'N/A'
};
console.table(dashboard);
return dashboard;
}
# GitHub Actions - Verificar versão após deploy
- name: Verify Deployment
run: |
VERSION=$(curl -s https://api.disparador.com/actuator/info | jq -r '.app.version')
echo "Deployed version: $VERSION"
if [ "$VERSION" != "${{ github.ref_name }}" ]; then
echo "Version mismatch! Expected ${{ github.ref_name }}, got $VERSION"
exit 1
fi
As informações disponíveis dependem da configuração da aplicação. Nem todos os campos podem estar presentes em todas as instalações.
Versão Semântica
Formato: MAJOR.MINOR.PATCH (ex: 2.1.0)
Java 17+
Requer Java 17 ou superior
Timezone
Padrão: America/Sao_Paulo
Build Info
Gerado automaticamente no build