SuperAPI AI 工具集

openapi-expert

编程与开发

查看项目

更新于 10-16 08:03

技能介绍

用途:OpenAPI Expert 提供 OpenAPI Specification(原 Swagger)的专家级指导,这是描述 RESTful API 的行业标准,可实现自动文档生成与代码生成。适用于 API 设计、文档编写、规范校验以及客户端与服务端代码生成等场景。

核心概念与方法:OpenAPI Specification(OAS)为 API 描述格式(YAML/JSON),当前涉及版本 3.1(最新)与 3.0,是机器可读的 API 契约,可用于自动文档生成、客户端/服务端代码生成以及 API 校验与测试。

关键组件:Paths(端点)、Operations(HTTP 方法)、Parameters、Request/Response bodies、Schemas(数据模型)、Security schemes、Components(可复用对象)。

高级特性:OpenAPI 3.1 支持 Webhooks,示例中定义 postCreated 触发 POST、operationId 为 onPostCreated,requestBody 引用 components/schemas/Post。 поддерживает 多态(oneOf/anyOf/allOf),示例用 Pet 的 oneOf 引用 Cat 与 Dog,并通过 discriminator 指定 propertyName: petType 及 cat/dog 映射;Cat 与 Dog 使用 allOf 组合 PetBase 与各自属性。

代码生成:可安装 OpenAPI Generator:npm install -g @openapitools/openapi-generator-cli。生成 TypeScript 客户端:openapi-generator-cli generate -i openapi.yaml -g typescript-axios -o ./client;生成 Python Flask 服务端:openapi-generator-cli generate -i openapi.yaml -g python-flask -o ./server;生成 Java Spring 服务端:openapi-generator-cli generate -i openapi.yaml -g spring -o ./server。

校验:安装 Spectral:npm install -g @stoplight/spectral-cli,运行 spectral lint openapi.yaml 校验规范;可通过 .spectral.yaml 自定义规则集,extends: spectral:oas,并设 operation-tags: error、operation-operationId: error、no-$ref-siblings: error。

文档生成:Swagger UI 可用 docker run -p 8080:8080 -e SWAGGER_JSON=/openapi.yaml -v $(pwd):/usr/share/nginx/html swaggerapi/swagger-ui;Redoc 可用 docker run -p 8080:80 -e SPEC_URL=openapi.yaml -v $(pwd):/usr/share/nginx/html redocly/redoc。

最佳实践:使用语义化版本、在 schema 中包含示例、提供清晰描述、用 components 保证可复用性、定义正确的错误响应、包含安全方案、添加 operation ID、按逻辑对操作打标签、校验规范并版本化 API。

资源:OpenAPI Spec https://spec.openapis.org/、Swagger Editor https://editor.swagger.io/、OpenAPI Tools https://openapi.tools/、Stoplight Studio https://stoplight.io/studio。

限制:资料未提供具体收费、价格、平台支持范围或性能效果等信息,暂未提供。