Skip to content

Instantly share code, notes, and snippets.

@sunmeat
Created December 28, 2025 12:59
Show Gist options
  • Select an option

  • Save sunmeat/3dc6b47ba8dcf56bc2a26934b0e754a7 to your computer and use it in GitHub Desktop.

Select an option

Save sunmeat/3dc6b47ba8dcf56bc2a26934b0e754a7 to your computer and use it in GitHub Desktop.
коментарі по Program.cs Web API проєкту
namespace WebApplication1
{
public class Program
{
public static void Main(string[] args)
{
var builder = WebApplication.CreateBuilder(args); // створює білдер для конфігурації веб-додатку на основі аргументів командного рядка та файлів конфігурації
// Add services to the container.
builder.Services.AddControllers(); // додає сервіси для підтримки контролерів MVC (API або MVC з views)
// Learn more about configuring OpenAPI at https://aka.ms/aspnet/openapi
builder.Services.AddOpenApi(); // додає вбудовану підтримку генерації OpenAPI-документу (починаючи з .NET 8, потребує пакету Microsoft.AspNetCore.OpenApi, цей пакет вже є в шаблоні - Packages)
var app = builder.Build(); // будує об'єкт WebApplication на основі конфігурації
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
app.MapOpenApi(); // тільки в режимі розробки мапить ендпоінт для отримання OpenAPI-документу у форматі JSON (зазвичай /openapi/v1.json)
} // змінити режим розробки на продакшн можна через змінну середовища ASPNETCORE_ENVIRONMENT у файлі Properties/launchSettings.json
app.UseHttpsRedirection(); // middleware, що перенаправляє HTTP-запити на HTTPS
app.UseAuthorization(); // додає middleware авторизації (перевіряє [Authorize]-атрибути на контролерах/ендпоінтах), але поки що без налаштувань аутентифікації це не має сенсу
app.MapControllers(); // мапить маршрути до контролерів (атрибутний роутинг, наприклад [Route("api/[controller]")])
app.Run(); // запускає веб-сервер і блокує потік до завершення роботи додатку
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment