Un endpoint de verificación de salud responde una pregunta rápidamente: ¿está activa esta API, y puede alcanzar su propia base de datos? Los monitores de tiempo de actividad, balanceadores de carga, y páginas de estado todos esperan uno, y construirlo a mano (consultar tú mismo la base de datos, componer el JSON correcto, elegir un código de estado) es más trabajo del que debería ser para algo tan simple.
Construirlo
- Crea un nuevo endpoint GET, algo como
/healtho/status. - Arrastra un bloque Verificación de Salud. Deja activado Comprobar que se puede alcanzar la base de datos, ejecuta una consulta ligera, nada pesado.
- Añade un bloque Respuesta JSON. Configura su cuerpo como
{{health}}y su campo de estado como{{health_status}}(o el nombre de variable que le hayas dado al bloque Verificación de Salud, mostrado en su propio panel). - Conecta las dos rutas salientes del bloque Verificación de Salud (marcadas "Ok" y "Unhealthy") ambas a ese mismo bloque de Respuesta, ya que de cualquier forma ya lleva el estado correcto.
Ese es todo el endpoint. Una llamada saludable devuelve 200 con un cuerpo como {"status":"ok","checks":{"database":"ok"}}; si no se puede alcanzar la base de datos, devuelve 503 con {"status":"unhealthy","checks":{"database":"error"}} en su lugar, exactamente el código de estado que una herramienta de monitorización espera tratar como una caída real.
Consejo: Mantén público un endpoint de verificación de salud (sin requerir clave de API) así un monitor externo puede llamarlo sin necesitar credenciales configuradas.