OpenAPI и клиентски библиотеки
Изтеглете OpenAPI спецификацията и генерирайте клиент за TypeScript или Python.
Валидираната OpenAPI 3.1 спецификация е източникът за интерактивната API справка и генерирането на клиентски библиотеки. Това е препоръчителната отправна точка за интеграция в проект със статично типизиране.
Изтегляне на спецификацията
Интерактивната справка показва структурата на заявките и примерен код. Изпълнението на заявки директно от браузъра е изключено, докато са налични само продукционни ключове. Изпращайте заявките от свой сървър или от терминала.
Генериране на TypeScript клиент
Следната команда генерира TypeScript типове и функции върху Fetch. Използвана е същата фиксирана версия на генератора, с която работи системата ни за непрекъсната интеграция:
npx --yes \
--package [email protected] \
--package @hey-api/[email protected] \
openapi-ts \
--input https://www.pravenintelekt.com/openapi/public-v1.json \
--output src/praven-intelekt-apiНастройте базовия URL адрес и заглавката с API ключ на едно място в генерирания клиент. Ако клиентът съдържа продукционен ключ, не го включвайте в код, който се изпълнява в браузъра.
Генериране на Python клиент
Изпълнете генератора в изолирана среда и подайте публичния договор:
pipx run --spec openapi-python-client==0.29.0 \
openapi-python-client generate \
--url https://www.pravenintelekt.com/openapi/public-v1.jsonРезултатът включва синхронен и асинхронен httpx клиент, типизирани модели и модули за крайните точки, групирани според етикетите (tags) в OpenAPI спецификацията.
Работа в хранилището
Разработчиците на Правен Интелект могат да генерират двата клиента с една команда:
scripts/generate_public_api_clients.shРезултатът се записва в директорията generated-clients/, която не се проследява от Git. При всяка промяна на спецификацията системата за непрекъсната интеграция генерира и двата клиента и сигнализира за грешка, ако публикуваният OpenAPI документ се различава от маршрутите във FastAPI.
Политика за съвместимост
По време на ограничената бета версия генерираният код не се съхранява в хранилището и не се публикува като официален пакет. В приложението си фиксирайте версията на OpenAPI спецификацията или на генерирания код и преглеждайте промените преди обновяване. Официални версионирани пакети ще бъдат публикувани след приключване на проверките за надеждност и подготовката на процеса за нови версии.