TGViewer
.NET Разработчик .NET Разработчик @netdeveloperdiary · 6.77K subscribers
Post #966 1.2K
День семьсот восемьдесят четвёртый.
Инструменты и для Создания .NET HTTP API. Окончание
Начало
Продолжение

Фреймворки на основе ASP.NET Core
В таком активном сообществе многие проекты с открытым кодом расширяют платформу ASP.NET и даже находят новые интересные направления развития веб-API. Два следующих проекта - отличные примеры того, как сообщество развивает новые направления ASP.NET и веб-API.

API Endpoints
Про этот проект Стива Смита я уже писал. Задача проекта состоит в том, чтобы отвлечь разработчика от необходимости думать о концепции контроллера для создания HTTP API, заменив его набором конечных точек. По сути, конечные точки API абстрагируются от контроллера, поэтому вам придётся писать немного меньше кода. При этом вы по-прежнему можете использовать полный набор функций, предоставляемый классами ActionResult.
[HttpPost("/authors")]
[SwaggerOperation(
Summary = "New Author",
Description = "Creates a new Author",
OperationId = "Author.Create",
Tags = new[] { "AuthorEndpoint" })
]
public override async
Task<ActionResult<CreateResult>>
HandleAsync([FromBody] CreateCommand req)
{
var author = new Author();
_mapper.Map(req, author);
await _repository.AddAsync(author);

var result =
_mapper.Map<CreateResult>(author);
return Ok(req);
}
Поскольку API Endpoints – это абстракция над веб-API, вы можете использовать Swashbuckle, NSwag или любое другое расширение веб-API вместе с конечными точками API и пользоваться всеми преимуществами стека веб-API, но с более модульным подходом, чем на основе MVC.

Проект Carter
Проект Carter привносит ещё большую модульность в ваши приложения ASP.NET Core. Он предлагает ориентированный на конечные точки подход к созданию HTTP API с помощью ASP.NET Core. Синтаксис Carter отлично подходит для разработчиков, которые ценят подход к маршрутизации конечных точек, и предлагает набор чистых интерфейсов для быстрого начала работы.
public class HomeModule : CarterModule {
public HomeModule() {
Get("/", async (req, res) =>
await res.WriteAsync("Hello Carter!"));
}
}
Благодаря многочисленным примерам и документации проект легко изучить и поэкспериментировать, а также он предлагает интересный подход к созданию HTTP-приложений. OpenAPI встроен в Carter по умолчанию, поэтому создаваемые вами конечные точки могут автоматически отображаться в спецификации OpenAPI. Проект Carter также может быть объединён с традиционным веб-API и структурой приложения ASP.NET Core, поэтому вы можете использовать его вместе со знакомым промежуточным ПО и службами ASP.NET Core.

Источник: https://devblogs.microsoft.com/aspnet/open-source-http-api-packages-and-tools/
More from @netdeveloperdiary
  1. Oct 18, 2026День 2818. #ВопросыНаСобеседовании Марк Прайс предложил свой набор из 60 вопросов (как тех…
  2. Oct 17, 2026День 2817. #ЧтоНовенького #VS Прекращаем Сборку После Первой Ошибки Мэдс Кристенсен продол…
  3. Oct 16, 2026День 2816. #Карьера #AI Станет ли ИИ-Кодинг Концом Программирования для Людей? Автор ориги…
  4. Oct 15, 2026Post #3374
  5. Oct 14, 2026Post #3373
  6. Oct 13, 2026День 2813. #ЗаметкиНаПолях #Async Ещё Раз Про Async/Await в C#. Часть 1 Почему существует…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →