Phoenix API生成器

2小时前更新 4 00
Phoenix API生成器Phoenix API生成器
Phoenix API生成器

技能简介

phoenix-api-gen 是一个代码生成工具,能够根据 OpenAPI 规范或自然语言描述,自动生成完整的 Phoenix JSON API 项目结构。涵盖上下文模块、Ecto 模型、数据库迁移、控制器、JSON 渲染器、路由配置、认证插件以及配套的 ExUnit 测试和工厂数据。

能做什么

  • 解析 OpenAPI YAML 文件,提取路径定义、请求体与响应体结构
  • 将每个 Schema 映射为 Ecto 模型及对应的数据库迁移文件
  • 按资源分组生成控制器动作,自动组织到对应的 Context 边界内
  • 根据 securitySchemes 生成 API Key 或 Bearer Token 认证插件
  • 基于自然语言描述推断资源关系,生成全套项目代码并等待用户确认
  • 输出符合 Phoenix 1.7+ 规范的 *JSON 渲染模块(旧版本兼容 *View)
  • 生成包含正常路径与校验错误场景的 ExUnit 测试用例

使用说明

  1. 确保本地已安装 Elixir 1.14+ 和 Phoenix 1.7+ 环境
  2. 将 OpenAPI 规范文件(YAML 或 JSON)放置于项目目录,或准备自然语言描述文本
  3. 运行生成命令,工具将按固定顺序创建文件:迁移文件 → Ecto 模型 → Context 模块 → 控制器与 FallbackController → JSON 渲染器 → 路由作用域 → 认证插件 → 测试与工厂
  4. 检查生成的多租户字段(tenant_id)和复合索引是否符合业务需求
  5. 执行 mix ecto.migrate 应用数据库变更,随后运行 mix test 验证生成代码

输入与输出

见下方输入与输出表格。

项目内容
输入OpenAPI 3.x 规范文件(YAML/JSON)、自然语言 API 描述文本、可选的现有 Phoenix 项目结构
输出Ecto 模型、数据库迁移、Context 模块、控制器、FallbackController、JSON 渲染器、路由配置、认证插件、ExUnit 测试与工厂模块
适用人群Elixir/Phoenix 后端开发者、需快速搭建 REST API 原型的技术团队、拥有 OpenAPI 契约需工程化落地的项目组
不包含前端代码、GraphQL、部署配置、监控日志方案、性能压测脚本

 

风险提示

  • 生成的认证插件仅提供基础模板,生产环境需补充密钥轮换、速率限制等机制
  • 多租户实现依赖请求头传递 tenant_id,需配合网关层校验防止越权访问
  • 自然语言描述可能存在歧义,关键业务规则生成后务必人工复核
  • 自动生成的测试覆盖 happy path 与基础校验错误,复杂业务逻辑需补充测试用例
  • 二进制 ID 与 UTC 微秒时间戳为默认配置,与现有项目混用时注意类型兼容性

来源信息

原始链接:https://github.com/openclaw/skills/tree/main/skills/gchapim/phoenix-api-gen/SKILL.md
来源类型:GitHub 仓库文档

数据统计

相关导航

暂无评论

none
暂无评论...