FastComments.com Blog


Mon Feb 16 2026
...

Выпуск сгенерированных типобезопасных клиентских SDK

! Эта статья содержит техническую терминологию

Что нового

В нашем посте о миграции на TypeScript мы упомянули, что сгенерированные клиентские SDK будут доступны. Они уже здесь.

FastComments теперь поставляет официальные, типобезопасные SDK для десяти языков:

  • TypeScript / JavaScript (npm)
  • Python (PyPI)
  • Rust (crates.io)
  • Go (Go modules)
  • Java (Maven)
  • PHP (Composer)
  • Ruby (RubyGems)
  • Swift (Swift Package Manager)
  • C++ (CMake)
  • Nim (Nimble)

Каждый SDK сгенерирован из одной и той же спецификации OpenAPI, которую производит наш сервер. Типы, сигнатуры методов и модели запросов/ответов автоматически синхронизируются с фактическим API. Ваш компилятор обнаружит опечатки в именах полей и отсутствующие параметры до того, как ваш код сделает какой-либо сетевой запрос.

Как это работает

Миграция на TypeScript была предварительным условием для этого. Теперь, когда наш серверный код полностью типизирован, мы используем наш форк TSOA, чтобы генерировать спецификацию OpenAPI 3.0 непосредственно из наших контроллеров маршрутов. Эта спецификация подается в OpenAPI Generator для производства клиентских библиотек для каждого языка.

Когда API изменяется, наши инструменты обнаруживают изменения в спецификации, регенерируют затронутые SDK, запускают тесты для каждого языка и автоматически открывают pull-запросы. Мы создали небольшой управляющий инструмент на Nim, который организует цикл обновления-тестирования-релиза по всем десяти репозиториям.

Что в каждом SDK

Каждый SDK предоставляет два API класса:

  • DefaultApi: аутентифицированные конечные точки, которые требуют ваш API-ключ. Используйте их на стороне сервера для модерации, управления пользователями, аналитики и массовых операций.
  • PublicApi: аутентифицированные конечные точки, безопасные для вызова из браузеров и мобильных приложений. Они охватывают получение комментариев, публикацию, голосование и другие операции, направленные на клиента.

Все SDK также включают утилиты SSO для интеграции с вашей существующей системой аутентификации. Дополнительно TypeScript SDK предоставляет подписки на события в реальном времени для живого комментирования.

Документация

Полная документация API доступна на docs.fastcomments.com. Каждый репозиторий SDK также включает сгенерированную документацию, охватывающую каждый доступный метод и модель.

Для интеграции SSO смотрите наш руководство по SSO. Все десять SDK включают помощники SSO, используя свои родные криптографические библиотеки.

В заключение

Имея полностью типизированный сервер, было легко сгенерировать надежную спецификацию OpenAPI, а оттуда создание клиентов для десяти (и someday больше!) языков в основном сводилось к автоматизации и улучшению наших определений типов, чтобы они могли быть использованы, не добавляя слишком много абстракции, что замедлит FastComments!

Как и все крупные релизы, мы рады, что смогли уделить время для оптимизации, тестирования и корректного выпуска этих SDK. Дайте нам знать ниже, если у вас есть обратная связь или если есть язык, который вы хотели бы, чтобы мы добавили.

С уважением!