Saltar al contenido principal

Web Service Guidelines

Convenciones para servicios web en el ecosistema Dinaup. Todos los servicios deben exponer endpoints estandar de salud y version.

Endpoints obligatorios

Health Check

Endpoint para que los orquestadores (Docker, Kubernetes) verifiquen que el servicio esta funcionando correctamente.

app.MapHealthChecks("/HealthCheck");

Version

Endpoint que devuelve la version actual del ensamblado. Se usa para monitoreo y despliegues.

app.MapGet("/version", () =>
{
return Results.Ok(new
{
version = Assembly.GetExecutingAssembly().GetName().Version.ToString()
});
});
info

Ambos endpoints deben estar disponibles sin autenticacion para que los sistemas de monitoreo y los balanceadores de carga puedan consultarlos.

Configuracion minima

Un servicio web Dinaup tipico debe incluir en su Program.cs:

  1. Banner de arranque (ver Blazor Server Guidelines)
  2. Verificacion de conectividad antes de iniciar
  3. Health Check en /HealthCheck
  4. Version en /version
  5. Manejo de errores fatales con reintento automatico
var builder = WebApplication.CreateBuilder(args);

builder.Services.AddHealthChecks();

var app = builder.Build();

app.MapHealthChecks("/HealthCheck");
app.MapGet("/version", () => Results.Ok(new
{
version = Assembly.GetExecutingAssembly().GetName().Version.ToString()
}));

app.Run();