为什么选择 Huma?#
生产就绪#
Huma 是一项经过验证的生产就绪技术,多年来一直被大型成功公司和产品用于实时流媒体视频领域,这些公司和产品拥有数百万客户。
Huma 易于学习、使用高效,并且允许您的组织更快地发布 API 以及相关工具(如交互式文档、CLI 和 SDK),同时减少由人为错误和手动流程引起的错误。
Daniel (Warner Bros Discovery 的工程师)
Huma 对于快速构建一致的、符合标准的、文档齐全的 API 以及生成的客户端和 SDK 至关重要,这些用于配置和运行实时新闻和体育赛事频道的实时媒体流控制平面服务。自从切换到 Huma 以来,团队能够更快地发布,并减少错误。
兼容性#
Huma 与您的组织已使用的库和工具广泛兼容。它是一个微框架,旨在提升您团队的 API 开发体验,而不会妨碍您的工作。
Huma ❤️ 标准#
Huma 建立在开放行业标准之上,如 OpenAPI、JSON Schema 以及数十个 RFC 和行业最佳实践。
这导致与其他工具和系统的广泛兼容性,以及生成和自动化您工作流程的许多部分的能力,包括客户端 SDK 生成、文档等。
知名且易懂的标准意味着开发者可以更快地上手,并花更少的时间学习新概念。新团队可以采用 Go 和 Huma,并在几天内高效工作。
配置与 OpenAPI
JSON Schema 与注册表
序列化
PATCH 格式
Go 很棒#
Huma 建立在 Go 之上,Go 是一种易于学习、高效且极其强大的编程语言,前 10 名。
Huma 建立在惯用的 Go 约定之上,并利用标准库概念,如 io.Reader、io.Writer、http.Request 等。这意味着您可以使用许多现有的库与 Huma 一起或并行使用。
请务必查看 基准测试!
路由器#
Huma 与路由器无关,并包含对您组织今天可能已使用的一些流行路由器及其中间件的支持:
Huma 在您当前的位置与您相遇,并提升您的 API 和团队。
可扩展性#
Huma 可以扩展以支持您的所有用例。
中间件#
灵活的路由器特定或路由器无关的中间件使您能够使用认证、指标、跟踪等扩展基本功能。
验证#
Huma 内置支持使用 JSON Schema 和/或自定义 Go 代码验证输入参数和模型,使用解析器,可以扩展内置验证以实现您想要的任何功能,并返回详尽的错误给用户。
OpenAPI 与 Schema#
OpenAPI 和 JSON Schema 生成完全可自定义和可扩展。Huma 提供低级访问,并允许覆盖或增强任何生成的规范和 Schema。
护栏#
Huma 提供护栏和自动化,以基于多年来自不同技能和经验水平的众多工程师团队的辛勤经验教训,让您的团队和您的服务尽可能顺畅地运行,这些经验来自为数百万用户大规模运行和维护生产系统。
- 不会过时的服务文档
- 具有编译时检查的强类型模型和处理程序
- 自动验证输入参数和模型
- 基于客户端驱动的内容协商的响应自动序列化
- 支持自动 CLI 和 SDK 生成