using Microsoft.AspNetCore.Mvc; List professions = new() { new Profession() { Id = Guid.NewGuid(), Name = "Software Developer" }, new Profession() { Id = Guid.NewGuid(), Name = "Plumber" }, new Profession() { Id = Guid.NewGuid(), Name = "Cook" } }; var builder = WebApplication.CreateBuilder(args); builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); var app = builder.Build(); if (app.Environment.IsDevelopment()) { app.UseSwagger(); app.UseSwaggerUI(); } app.UseHttpsRedirection(); app.MapGet("/Professions/", () => { return Results.Ok(professions.ToArray()); }) .WithName("List") .WithOpenApi(); app.MapGet("/Professions/{professionId}", (Guid professionId) => { var proffesion = professions.FirstOrDefault(p => p.Id == professionId); if (proffesion is null) { return Results.NotFound($"Не найдена профессия с идентификатором {professionId}"); } return Results.Json(new Profession() { Id = proffesion.Id, Name = proffesion.Name }); }) .WithName("Get") .WithOpenApi(); app.MapPost("/Professions/", (ProfessionRequest request) => { Guid proffesionId = Guid.NewGuid(); professions.Add(new Profession() { Id = proffesionId, Name = request.Name }); }) .WithName("Create") .WithOpenApi(); app.MapPatch("/Professions/{professionId}", (Guid professionId, ProfessionRequest request) => { var profession = professions.FirstOrDefault(p => p.Id == professionId); if (profession is null) { return Results.NotFound($"Не найдена профессия с идентификатором {professionId}"); } if (!string.IsNullOrEmpty(request.Name)) { profession.Name = request.Name; } return Results.Ok(profession); }) .WithName("Update") .WithOpenApi(); app.MapDelete("/Professions/{professionId}", (Guid professionId) => { var profession = professions.FirstOrDefault(p => p.Id == professionId); if (profession is null) { return Results.NotFound($"Не найдена профессия с идентификатором {professionId}"); } professions.Remove(profession); return Results.Ok(professionId); }) .WithName("Delete") .WithOpenApi(); app.Run(); public class Profession { public Guid Id { get; set; } public string Name { get; set; } } public class ProfessionRequest { public string Name { get; set; } }