FastComments.com Blog


Mon Feb 16 2026
...

Generated Type-Safe Client SDKs Released

! Тази статия съдържа технически жаргон

Какво ново

В нашия TypeScript migration post споменахме, че генерираните клиентски SDK‑ове са на път. Те са тук.

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

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

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

Как работи

Миграцията към TypeScript беше предпоставка за това. Сега, когато кодът на нашия сървър е напълно типизиран, използваме our fork of TSOA за генериране на OpenAPI 3.0 спецификация директно от нашите контролери за маршрути. Тази спецификация се подава на OpenAPI Generator за създаване на клиентски библиотеки за всеки език.

Когато API‑т се променя, нашите инструменти откриват разликата в спецификацията, регенерират засегнатите SDK‑ове, изпълняват тестове за всеки език и автоматично отварят pull requests. Създадохме малък управленски инструмент на Nim, който оркестрира цикъла актуализиране‑тест‑пускане за всичките десет хранилища.

Какво има във всеки SDK

Всеки SDK предоставя два API класа:

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

Всички SDK‑ове също включват SSO инструменти за интеграция с вашата съществуваща система за автентикация. TypeScript SDK‑ът допълнително предоставя абонаменти за събития в реално време за живо коментиране.

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

Пълната API документация е достъпна на docs.fastcomments.com. Всяко хранилище на SDK също включва генерирани документи, обхващащи всеки наличен метод и модел.

За интеграция на SSO, вижте нашето SSO guide. Всички десет SDK‑а включват SSO помощници, използващи техните родни криптографски библиотеки.

В заключение

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

Както при всички големи издания, радваме се, че успяхме да отделим време за оптимизиране, тестване и правилно пускане на тези SDK‑ове. Уведомете ни по-долу, ако имате обратна връзка или ако има език, който бихте искали да добавим.

Наздраве!