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, запускают тесты для каждого языка и автоматически открывают запросы на слияние. Мы разработали небольшой инструмент-менеджер на Nim, который организует цикл обновления-тестирования-релиза для всех десяти репозиториев.

Что входит в каждый SDK

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

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

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

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

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

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

В заключение

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

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

Ура!