Перейти к основному содержимому

О разделе

Здесь — практикум, который закрепляет навыки проектирования и реализации безопасных масштабируемых REST API и WebSocket-сервисов. Вы пройдёте путь от контракта до работающего кода на двух стеках и проверите интеграцию в Postman.

Песочница выше повторяет статусы 201, 409, 502 и события WebSocket без установки Python и .NET. Локальный код из шагов 4–5 даёт тот же контракт на реальных портах 8100 и 5200.


Сценарий

Два сервиса учебной системы OrderDesk:

СервисСтекПорт (локально)Роль
catalog-apiPython, FastAPI8100Каталог товаров, остатки, резервирование
orders-apiC#, ASP.NET Core 85200Заказы, вызов каталога по REST, WebSocket для клиентов

Синхронная связь — HTTP/JSON по версионированному контракту /api/v1/…. События для браузера и Postman — WebSocket на стороне orders-api. Межсервисные вызовы защищены API-ключом; для внешних клиентов — JWT.


Маршрут по шагам

ШагСтатьяСодержание
1Сценарий и архитектураЦели, диаграмма потоков, границы ответственности
2Проектирование контракта APIРесурсы, методы HTTP, коды ответов, OpenAPI
3Модели данных и маппингДомен, DTO, соглашения JSON, версии полей
4Сервис каталога на PythonFastAPI, SQLite, эндпоинты резерва (практика SQLite)
5Сервис заказов на C#Minimal API, HttpClient, сохранение заказов
6Безопасность и устойчивостьJWT, API-ключ, таймауты, идемпотентность
7WebSocket и событияПротокол сообщений, heartbeat, рассылка
8Проверка в PostmanКоллекция, окружение, сценарий E2E

Теория по REST, маппингу и WebSocket — в 8.05 Микросервисы и интеграция; этот раздел — применение на практике.


Что понадобится


Как учиться по разделу

  1. Пройдите интерактивный сценарий на этой странице (кнопка «Сквозной сценарий»).
  2. Прочитайте шаги 1–3 и зафиксируйте контракт на бумаге или в OpenAPI.
  3. Поднимите оба сервиса локально (4, 5) и сверьте ответы с песочницей.
  4. Закройте цикл в Postman и негативными кейсами из шага 8.

Связь с теорией

Тема практикумаСтатья в энциклопедии
REST, коды HTTPREST
Проектирование и DTOПроектирование API
WebSocketРеактивные транспорты
Интеграционные тесты1012