awesome-api-devtools

awesome-api-devtools

HTTP API开发资源与工具全面指南

该项目汇集了构建RESTful HTTP+JSON API的全面资源,包括API规范语言、框架、开发工具、文档、调试、设计、安全、监控和测试等方面。为开发者提供了一站式参考,助力选择适合的API开发工具和资源。内容定期更新,开放社区贡献。

APIRESTfulHTTPJSONOpenAPIGithub开源项目

HTTP API 开发工具

简介

这是一个用于构建 RESTful HTTP+JSON API 的有用资源集合。外面有很多优秀的工具和完整的生态系统!不了解有哪些选择可能会让人感到不知所措,所以你可以将此作为参考起点。

欢迎贡献。类别也欢迎建议!

目录

API 规范语言

API 规范工具

  • Swagger Inspector:测试和自动生成任何 API 的 OpenAPI 文档。
  • Swagger Editor:用于设计 Swagger 规范的编辑器。
  • Swagger 工具和集成:服务于 Swagger 生态系统的库和框架列表。
  • VS Code 的 OpenAPI 扩展:为 OpenAPI 规范提供支持的 Visual Studio Code (VS Code) 扩展。
  • JetBrains IDE 的 OpenAPI 插件:为 OpenAPI 规范提供支持的 Jetbrains 插件。
  • Dredd:验证用 API Blueprint 编写的 API 文档是否与其后端实现一致。
  • API Spec Converter:在不同的 API 规范格式之间转换。
  • Apimatic:支持包括 Swagger、OAI 格式、RAML、API Blueprint、IO Docs、WADL、Postman Collections 和 HAR 1.4 等在内的 API 描述格式。
  • OpenAPI Definition Designer:免费的可视化 OpenAPI3 定义创建和编辑工具。
  • Stoplight Studio:使用可视化编辑器创建、原型设计和共享 OpenAPI 描述和 JSON Schema。
  • Spectral:定义规则集来检查 YAML 或 JSON,包括 OpenAPI 2.x、3.x 和 AsyncAPI。
  • Optic:使用真实流量验证 OpenAPI 3.x 规范的准确性,并自动应用补丁以保持其最新状态。

API 规范

  • API Commons:与语言无关的 API 规范/数据模型仓库。
  • APIS.guru:OpenAPI(又称 Swagger)2.0 格式的 API 规范目录。
  • AnyAPI:公共 API 的文档和测试控制台。

API 框架

Ruby

  • rails-api:仅用于 API 应用程序的 Rails。
  • pliny:用于编写 Ruby API 的固执己见的模板 Sinatra 应用。
  • grape:用于在 Ruby 中创建类 REST API 的固执己见的微框架。
  • ActiveModel::Serializer:为 JSON 生成带来约定优于配置的理念。
  • rabl:从任何 ruby 对象生成 JSON 和 XML。
  • jbuilder:通过类似 Builder 的 DSL 创建 JSON 结构。
  • roar:使用表示器解析和渲染 REST API 文档。

Python

  • Django REST framework:使构建 Web API 变得容易的工具包。
  • Tastypie:Django 的 Web 服务 API 框架。
  • restless:Python 的轻量级 REST 迷你框架。
  • flask-restful:用于创建 REST API 的简单框架。
  • Falcon:Falcon 是一个用于构建 HTTP API、应用后端和更高级框架的低级、高性能 Python 框架。
  • Connexion:基于 Flask 的 Python Swagger/OpenAPI 优先框架,具有自动端点验证和 OAuth2 支持。
  • apistar:为 Python3 设计的智能 Web API 框架。
  • sanic:Sanic 是一个类似 Flask 的 Python 3.5+ Web 服务器,旨在快速运行。
  • hug:hug 旨在使开发 Python 驱动的 API 尽可能简单,但不过于简单。
  • FastAPI:FastAPI 是一个现代、快速(高性能)的 Web 框架,用于基于标准 Python 类型提示构建 Python 3.6+ 的 API。

Javascript

  • hapi.js:Node.js 的 Web 和服务应用框架。
  • Restify:专门为 Web 服务 API 设计的 Node.js REST 框架。
  • Express:Node.js 的快速、unopinionated、简约的 Web 框架。
  • sailsjs:Node.js 的实时 MVC 框架。
  • Actionhero:具有集成集群功能和延迟任务的多传输 Node.js API 服务器。
  • Baucis:用于构建
  • Koa:Node.js 的下一代 Web 框架
  • Loopback:Node.js 框架,用于创建 API 并轻松连接到后端数据源。
  • Seneca:Node.js 的微服务工具包。
  • Feathers:通过 Socket.io 或 Primus 构建 RESTful 和实时 API。
  • Deployd:Deployd 是为 Web 和移动应用构建实时 API 的最简单方法
  • Nest:一个基于 TypeScript 构建的现代 node.js 框架,用于高效和可扩展的 Web 应用程序

Go

  • Go-Json-Rest:在 net/http 之上的薄层,有助于轻松构建 RESTful API
  • gocrud:Go 库,简化创建、更新和删除任意深度结构化数据 — 使构建 REST 服务快速而简单。
  • sleepy:用 Go 编写的 RESTful 微框架。
  • restit:Go 微框架,帮助编写 RESTful API 集成测试。
  • go-relax:用于构建 RESTful API 的可插拔组件框架。
  • go-rest:Go 的小型邪恶 REST 框架。
  • go-restful:用于构建 RESTful API 的声明式高度可读框架。
  • Goat:Go 的极简 REST API 服务器。
  • Resoursea:用于快速编写基于资源的服务的 REST 框架。
  • Zerver:Zerver 是一个富有表现力、模块化、功能完备的 RESTful 框架。
  • Fiber::zap:Fiber 是一个受 Express 启发的用 Go 编写的 Web 框架,带有 :coffee:。

Scala

  • Colossus:Scala 的 I/O 和微服务库。
  • Finatra:基于 Twitter-Server 和 Finagle 构建的快速、可测试的 Scala HTTP 服务。
  • Play:Java 和 Scala 的高速 Web 框架。
  • Scalatra:简单、可访问且免费的 Web 微框架。
  • Skinny Micro:用于在 Scala 中构建 servlet 应用程序的微型 Web 框架。
  • Spray:基于 Scala 和 Akka 构建 REST/HTTP 集成层的开源工具包。
  • Akka HTTP:Akka HTTP 模块在 akka-actor 和 akka-stream 之上实现完整的服务器端和客户端 HTTP 堆栈。
  • Swagger Akka HTTP:Swagger-Akka-Http 为 Akka-Http API 带来 Swagger 支持。

Java

  • Rest.li:使用类型安全绑定和异步非阻塞IO的REST框架。
  • Dropwizard:用于开发运维友好、高性能的RESTful Web服务的框架。
  • Jersey:Java中的RESTful Web服务。
  • Spring Boot:使用Spring的RESTful Web服务,高性能且配置需求少。
  • Metamug Mason:使用JSP标签和SQL创建REST API。在服务器上编辑和热部署REST资源。

Haskell

  • Scotty:受Ruby的Sinatra启发的微型Web框架,使用WAI和Warp。
  • Spock:另一个用于快速开发的Haskell Web框架。
  • Servant:类型级Web DSL。
  • Yesod:Haskell RESTful Web框架。

Elixir

  • Phoenix:用于构建HTML5应用、API后端和分布式系统的框架。
  • Plug:Web应用间可组合模块的规范和便利工具。

Erlang

  • Cowboy:用Erlang编写的小型、快速、模块化的HTTP服务器。
  • Gen Microservice:这个库解决了用Erlang实现微服务的问题。
  • Mochiweb:用于构建轻量级HTTP服务器的Erlang库。

Postgres

  • PostgREST:从任何现有PostgreSQL数据库提供RESTful API。
  • pREST:pREST是一种用Go编写的从任何数据库提供RESTful API的方式。

MySQL

  • xmysql:为任何MySQL数据库生成REST API。

PHP

  • API Platform:基于Symfony的API框架,支持JSON-LD、Schema.org和Hydra
  • Dingo API:Laravel和Lumen框架的RESTful API包
  • Fractal:Fractal为复杂数据输出提供表示和转换层,如在RESTful API中找到的,与JSON配合得很好
  • Yii2 Framework:提供一整套工具,简化实现RESTful Web服务API的任务

R

  • Plumber:为简单R函数构建API的API框架

C#

其他

API客户端开发工具

通用

  • Swagger CodeGen:从Swagger兼容的服务器自动生成客户端库。
  • AutoRest:为RESTful Web服务生成客户端库
  • OpenAPI Generator:Swagger Codegen的社区分支,根据OpenAPI/Swagger规范自动生成API客户端、服务器存根和文档。
  • at-your-service:浏览器上的API可观察性开发工具。从网络流量生成OpenAPI规范和代码。

Ruby

  • Net::HTTP:Ruby的HTTP客户端API。
  • faraday:简单但灵活的HTTP客户端库,支持多个后端。
  • rest-client:Ruby的简单HTTP和REST客户端
  • heroics:用于JSON schema表示的API的Ruby HTTP客户端。
  • blanket:Ruby API包装器。
  • nestful:Ruby HTTP/REST客户端。

Java

  • Retrofit:Android和Java的类型安全HTTP客户端。

Javascript

  • Restangular:Restangular是一个AngularJS服务,简化了常见的GET、POST、DELETE和UPDATE请求,只需最少的客户端代码

.NET

  • Refit:.NET Core、Xamarin和.NET的自动类型安全REST库
  • WebAnchor:Web Anchor提供对Web资源的类型安全、可测试和灵活的访问。

.Dart

  • Frog:Dart Frog建立在shelf和mason之上,受到many tools including remix.run、next.js和express.js等多个工具的启发。
  • Serverpod:Serverpod是为Flutter社区构建的下一代应用和Web服务器。它允许你用Dart编写服务器端代码,自动生成API,并以最少的努力连接数据库。Serverpod是开源的,你可以在任何地方托管你的服务器。

API文档

  • ReDoc:OpenAPI/Swagger生成的API参考文档。
  • Swagger UI:从Swagger兼容的API动态生成文档。
  • Slate:为你的API生成的静态站点文档。
  • DeveloperHub:文档工具,用于编写、发布、审查、分析和收集个性化面向客户的API文档的反馈。
  • prmd:JSON Schema工具:从JSON Schema文档搭建、验证和生成文档。
  • Aglio:支持主题的API Blueprint渲染器,输出静态HTML。
  • Apiary:协作设计、即时API模拟、生成文档、集成代码示例、调试和自动化测试。
  • Readme:API文档托管。
  • API Docs:OAS(Swagger)和RAML规范的托管公共API文档。
  • Docbox:使用Markdown的REST API文档生成器。
  • widdershins:从OpenAPI 3.0 / Swagger 2.0 / AsyncAPI 1.x / Semoasa 0.1.0定义生成REST API文档
  • Elements:基于Web组件的OpenAPI 3.x/2.x API文档

API客户端

开源

  • Hoppscotch:REST、GraphQL、Websocket、SSE、Socket.IO和MQTT的API客户端
  • Hurl:Hurl使处理HTML内容、REST / SOAP / GraphQL API或任何其他基于XML / JSON的API变得容易。

托管

桌面

  • Postman:桌面API测试工具。
  • Firecamp:WebSocket、Rest API和GraphQL的API工作室。
  • HTTPie:命令行HTTP客户端。
  • Paw:Mac的REST客户端。
  • Insomnia:Mac、Windows和Linux的REST API客户端。
  • httpy:可编程命令行HTTP客户端。

API调试和模拟

托管

  • Beeceptor:REST API的HTTP代理 - 检查和构建模拟API。
  • MockBin:生成模拟HTTP端点。
  • httpbin:用于测试HTTP请求各种场景的模板化响应。
  • Prism:一套用于API模拟和契约测试的包,支持OpenAPI v2(原Swagger)和OpenAPI v3.x,包括模拟服务器和验证代理。
  • MockingCloud:只需OpenAPI yaml/json规范文件即可生成完整的模拟REST API。
  • Svix Play:轻松检查、测试和调试传入的webhooks。

桌面

  • Postman:桌面API客户端和模拟工具。
  • Json-Server 零代码的完整假REST API。
  • Mockoon:桌面API模拟工具。

API设计指南

API发布

API网关

  • AWS API Gateway: 流量管理、授权和访问控制、监控以及API版本管理。
  • Ambassador API Gateway: Ambassador是一个专门的控制平面,将Kubernetes注释转换为Envoy配置。所有流量都由高性能的Envoy代理直接处理。
  • APIGrove: 基于Fuse ESB构建的Java API管理器。
  • Apigee127: 基于nodejs的API网关
  • Pushpin: 用于请求/响应或流式(长轮询)响应的代理
  • Strongloop: 基于nodejs的API网关
  • Fusio: 基于PHP的开源API管理平台
  • Camel: 使您能够使用各种特定领域语言定义路由和调解规则,包括基于Java的流畅API、Spring或Blueprint XML配置文件以及Scala DSL。
  • HAProxy: 可靠、高性能的TCP/HTTP负载均衡器。
  • OpenResty: 基于Nginx构建的快速Web应用服务器。
  • Tengine: 带有一些高级功能的Nginx发行版。
  • Tyk: 开源、快速且可扩展的API网关、门户和API管理平台。
  • Vulcand: 由Etcd支持的可编程负载均衡器。
  • Zuul: 提供动态路由、监控、弹性、安全性等功能的边缘服务。
  • Kong: 开源的API管理层,提供高性能和可靠性。
  • Janus: Hello Fresh开发的轻量级Go语言API网关。
  • fabio: eBay开发的快速、现代、零配置HTTP(S)路由器,用于部署由consul管理的微服务。
  • Traefik: Træfik(发音类似traffic)是用Go编写的现代HTTP反向代理和负载均衡器。
  • Oathkeeper: 基于规则集授权HTTP请求的身份和访问代理(IAP)。与ORY Hydra集成。

API安全

API Web扫描器

  • Cherrybomb: 停止半完成的API规范!Cherrybomb是一个CLI工具,通过验证您的API规范来帮助您避免未定义的用户行为。

API监控

  • Runscope: API性能监控。
  • Ping-API: 自动化API测试。
  • Streamdal: 一个在应用程序代码中嵌入隐私控制的工具,可以在个人身份信息进入和离开系统时检测到它,防止它到达不适当的API、数据库、数据流或管道。

API测试

  • Assertible: 在部署后和跨环境持续测试和监控您的API。
  • Hurl: Hurl使测试HTML内容、REST / SOAP / GraphQL API或任何其他基于XML / JSON的API变得容易。
  • Pyresttest: 基于YAML的REST测试和API微基准测试工具
  • OWASP Zaproxy: 一个测试API已知安全漏洞的工具,具有很好的CI集成。
  • RestQA: 专注于提供良好开发者体验的微服务API测试工具。
  • Optic CI: 在CI管道中测试API的破坏性变更

API开发者门户

  • Tyk: 构建在API网关之上的API开发者门户,使开发者更容易使用您的API网关。
  • APIMATIC: 立即构建一个API门户,包含SDK、实时代码示例、测试用例、API转换和特定语言的文档和参考 - 专门为您的API定制。
  • Optic Docs: 与您的消费者共享经过验证准确的OpenAPI文档。使用Optic,他们可以订阅您的API并在其发生变化时收到通知。

JSON格式标准

学习资源

博客

参考

贡献

非常欢迎Pull Requests!

添加新资源时请写一个简短的一句话摘要。

致谢

api-development-tools © 2016+, Yos Riady。根据MIT许可证发布。<br> 由Yos Riady创作和维护,在贡献者(列表)的帮助下。

yos.io  ·  GitHub @yosriady

编辑推荐精选

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

下拉加载更多