TGViewer
yet another dev yet another dev @yet_another_dev · 382 subscribers
Post #375 346
👩‍💻 Используем OpenAPI для синхронизации API на Frontend и Backend

Ровно год назад писал пост про синхронизацию через OpenAPI.

Тот подход был основан на Swagger. С тех пор в .NET появился встроенный функционал для генерации спецификаций OpenAPI. Держите короткий гайд:

1. Создаём новый проект:

mkdir -p backend
cd backend
dotnet new webapi


По умолчанию файл проекта backend.csproj уже использует нужный пакет Microsoft.AspNetCore.OpenApi.

<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="10.0.7" />


Можно запустить приложение и перейти по адресу https://localhost:{port}/openapi/v1.json, чтобы убедиться, что всё работает.

2. Следующий шаг – автоматическая генерация спецификации в виде файла.

Для этого нужно установить ещё один пакет:

dotnet add package Microsoft.Extensions.ApiDescription.Server


И включить генерацию при сборке, добавив в backend.csproj вот этот блок:

<PropertyGroup">
<OpenApiGenerateDocuments>true</OpenApiGenerateDocuments>
<OpenApiGenerateDocumentsOnBuild>true</OpenApiGenerateDocumentsOnBuild>
<OpenApiDocumentsDirectory>$(MSBuildProjectDirectory)</OpenApiDocumentsDirectory>
</PropertyGroup>


Теперь, если выполнить команду dotnet build, файл спецификации автоматически создастся в директории с проектом. В нашем случае – это файл backend.json.

3. Дальнейшие шаги, связанные с фронтом, остались без изменений – используем пакет swagger-typescript-api:

pnpx swagger-typescript-api generate --path ./backend.json -o ./generated -n WebApi.ts


Сгенерированные типы TypeScript будут лежать в ./generated/WebApi.ts.
  • 👍 4
  • 🔥 2
More from @yet_another_dev
  1. Sep 21, 2026Опубликовал вчера ролик в одной запрещённой в России соцсети про то, как сходил на выборы.…
  2. Sep 20, 2026Мы пришли в 7:50 и очередь уже была 🥲 Пообщались с другими людьми. Многие приехали из дру…
  3. Sep 19, 2026Post #383
  4. Sep 18, 2026Последние пару недель на чат нападают боты со спамом (прикрыл стикером). Поэтому чат тепер…
  5. Sep 17, 2026Что интересного в этой статье: 1. Потрачено $120К, а агенты суммарно отработали около 3-х…
  6. Sep 17, 2026В Microsoft переписали рантайм GitHub Copilot с TypeScript на Rust при помощи агентов. Под…
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 →