Skip to content

Instantly share code, notes, and snippets.

@renatogroffe
Created December 18, 2023 17:26
Show Gist options
  • Save renatogroffe/e14238948f1c866aa2af20711ab47381 to your computer and use it in GitHub Desktop.
Save renatogroffe/e14238948f1c866aa2af20711ab47381 to your computer and use it in GitHub Desktop.
using APIContagem;
using APIContagem.Middlewares;
using APIContagem.Models;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
builder.Services.AddSingleton<Contador>();
var app = builder.Build();
app.UseSwagger();
app.UseSwaggerUI();
app.UseHttpsRedirection();
app.UseMiddlewareExecutionNotificator();
app.MapGet("/status", () =>
{
app.Logger.LogInformation("Acionado endpoint de Health Check");
return "API Contagem - OK";
}).ShortCircuit();
app.MapGet("/contador", (Contador contador) =>
{
int valorAtualContador;
lock (contador)
{
contador.Incrementar();
valorAtualContador = contador.ValorAtual;
}
app.Logger.LogInformation($"Contador - Valor atual: {valorAtualContador}");
return TypedResults.Ok(new ResultadoContador()
{
ValorAtual = contador.ValorAtual,
Local = contador.Local,
Kernel = contador.Kernel,
Framework = contador.Framework,
Mensagem = app.Configuration["Saudacao"]
});
}).Produces<ResultadoContador>().WithOpenApi();
app.MapShortCircuit(404, "robots.txt", "favicon.ico");
app.Run();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment