{}FireSchema

FireSchema 对比 Swagger UI:该选择哪个?

为什么 Swagger 不适用于 Firestore — 以及什么才适合

Swagger UI 是 REST API 文档的黄金标准。但如果您尝试用它来记录 Firestore 数据库,可能已经遇到了问题。Firestore 不是 REST API — 它是一个包含集合、子集合和嵌套数据的文档数据库。它需要一种不同的工具。

什么是 Swagger UI?

Swagger UI 根据 OpenAPI 规范渲染交互式文档。它专为 REST API 设计:端点、HTTP 方法、请求/响应体、状态码。如果您正在构建 REST API,Swagger 非常出色 — 它向开发者展示如何调用每个端点、发送什么参数以及期望什么响应。

为什么 Swagger 不适合 Firestore

Firestore 与 REST API 有根本性的不同:

没有端点

Firestore 使用集合引用,而不是 URL 路由。没有 GET /users 或 POST /orders — 您通过 Firebase SDK 使用集合路径(如 users/{userId}/orders)进行交互。

集合 ≠ 路由

Firestore 集合是一组具有灵活 Schema 的文档,而不是具有固定请求/响应格式的 REST 资源。子集合增加了 REST 无法很好建模的另一个维度。

Schema 不同于 API 契约

OpenAPI 描述的是 HTTP 接口。Firestore 需要文档级别的 Schema:字段类型、验证规则、嵌套对象以及集合与子集合之间的关系。

什么是 FireSchema?

FireSchema 专为文档数据库而构建。它使用 JSON Schema 文件(而非 OpenAPI 规范)— 每个集合一个文件 — 按照镜像 Firestore 层级的文件夹组织。它渲染一个交互式查看器,展示您的集合树、文档字段、类型和描述。 JSON Schema.

功能对比

功能Swagger UIFireSchema
设计用途REST APINoSQL 数据库
规范格式OpenAPI (YAML/JSON)JSON Schema
数据模型端点和方法集合和文档
子集合不支持文件夹 = 层级
需要后端通常需要永远不需要
设置时间数分钟到数小时5 分钟以内
在线测试调用是(API 调用)否(只读文档)

何时使用哪个

使用 Swagger UI 当:

  • -您有带 HTTP 端点的 REST API
  • -您需要交互式 API 测试(在线试用)
  • -您的团队已经使用 OpenAPI 规范

使用 FireSchema 当:

  • -您使用 Firestore 或任何文档数据库
  • -您想记录数据模型(而非 API 端点)
  • -您需要零后端的纯静态文档
  • -您想在 5 分钟内上手

同时使用两者当:

您的项目有由 Firestore 支撑的 REST API。使用 Swagger 记录 API 层,使用 FireSchema 记录数据库层。

开始使用

FireSchema 为您的 Firestore 数据库提供与 Swagger 为 REST API 提供的同等质量的文档。5 分钟内完成设置,并作为静态站点部署。 Get started in 5 minutes →

试用 FireSchema

快速开始指南