Project Icon

awesome-api-devtools

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

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

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许可证发布。
由Yos Riady创作和维护,在贡献者(列表)的帮助下。

yos.io  ·  GitHub @yosriady

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号