已发布 — Schema 支持、更简洁的内部结构与下一步

发布: (2026年1月31日 GMT+8 02:07)
4 min read
原文: Dev.to

Source: Dev.to

RunAPI 刚刚获得了一次重要升级。

最新版本引入了 schema 支持,改进了内部架构,并为更好的测试和数据库可扩展性奠定了基础——同时保持 RunAPI 轻量且对开发者友好。

如果你在使用 Python 构建 API,并且喜欢 基于文件的路由 + FastAPI,那么这次发布非常适合你。

✨ 本次发布的新特性

✅ Schema 支持(重磅)

RunAPI 现在支持 schemas,让以下工作更容易:

  • 定义请求和响应模型
  • 一致地验证输入
  • 随着项目增长保持 API 结构化

这让 RunAPI 更贴近真实生产需求,同时仍保持简洁。

🧹 代码质量改进

多项内部改进已合并,以清理代码:

  • Python 3.12 兼容性修复(datetime.utcnow()datetime.now(timezone.utc)
  • 更安全地处理非 Pydantic 模型
  • 移除已废弃的 Pydantic v1 用法
  • 更好的模块加载安全检查
  • 更简洁的路由名称生成

这些更改不影响公共 API,但使 RunAPI 更稳健、更具前瞻性

🗄️ 存储:内存 + SQLAlchemy(可选)

RunAPI 目前支持 两种存储后端

  • InMemory 存储(默认,无额外依赖)
  • SQLAlchemy 存储(仅在安装了 SQLAlchemy 时使用)

如果未安装 SQLAlchemy,RunAPI 会优雅地回退到内存存储——不会崩溃,也不会出现意外。

这使得 RunAPI:

  • 默认轻量
  • 对更严肃的使用场景保持灵活

🧠 我们接下来要改进的方向

在实现 schema 支持后,接下来的重点包括:

🔍 更好的测试覆盖

  • 针对 schemas 的更多测试
  • 路由和认证的边缘案例测试
  • 随着功能增长提升信心

🧩 清晰的存储抽象

虽然 InMemory 和 SQLAlchemy 后端已经存在,但我们希望:

  • 拥有明确的共享接口
  • 更简洁的后端选择机制
  • 更容易的未来扩展(如 Redis 等)

📚 更好的文档与示例

  • Schema 使用指南
  • 存储行为的清晰说明
  • 真实场景的 CRUD 示例

🤝 想要贡献?

RunAPI 仍在不断演进,非常欢迎贡献

可以从以下方向入手:

  • 测试 🧪

  • 文档 📖

  • 存储抽象 🗄️

  • 示例与模板 🧱

  • GitHub 仓库:

  • Issues:

🏁 最后感想

这次发布更侧重于 打下坚实的基础,而非炫目的功能。

  • Schemas 解锁了更安全的 API。
  • 更清晰的内部实现加速了开发。

路线图保持 RunAPI 的灵活性而不致臃肿。如果你尝试使用,欢迎随时提供反馈 🙌

祝构建愉快! 🚀

Back to Blog

相关文章

阅读更多 »