SuperAPI AI 工具集

extract-openapi-from-code

编程与开发

查看项目

更新于 10-16 09:52

技能介绍

用途:当已有 API 代码但缺少 OpenAPI 规范,或想基于代码生成 SDK 时,从代码库提取或生成 OpenAPI 规范。适用于用户提到特定框架或“extract OpenAPI”“code first”“generate spec from code”等场景。

主要能力:覆盖 5 种语言的 8 个框架,每种框架有对应指南,包含设置、schema 定义、Speakeasy 扩展、认证与排错:FastAPI、Flask、Django REST Framework(Python);Spring Boot(Java);NestJS、Hono(TypeScript);Rails(Ruby);Laravel(PHP)。输出 OpenAPI 规范(JSON 或 YAML)及 speakeasy lint 校验报告。

使用方式:按框架选择提取方式。FastAPI 用 python -c "import json; from myapp import app; print(json.dumps(app.openapi()))" > openapi.json;Flask 用 flask openapi write openapi.json;DRF 用 python manage.py spectacular --file openapi.yaml;Spring Boot 需启动后用 curl http://localhost:8080/v3/api-docs -o openapi.json;NestJS 需启动后获取 /api-json 或写导出脚本;Hono 用 app.doc 程序化导出;Rails 用 rails rswag:specs:swaggerize;Laravel 用 php artisan l5-swagger:generate。提取后务必校验:speakeasy lint openapi --non-interactive -s openapi.json。

限制:项目需可构建且依赖已安装;运行时提取的框架需应用可导入或可启动。不要手写规范、不要直接改提取后的规范(用 overlay 修复)、不要跳过校验;提取结果可能遗漏认证、错误响应或请求头。部分细节(如收费、平台差异)暂未提供。