HTTP API 开发工具
简介
这是一个用于构建 RESTful HTTP+JSON API 的有用资源集合。外面有很多优秀的工具和完整的生态系统!不了解有哪些选择可能会让人感到不知所措,所以你可以将此作为参考起点。
欢迎贡献。类别也欢迎建议!
目录
API 规范语言
API 规范工具
API 规范
API 框架
Ruby
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
Haskell
- Scotty:受Ruby的Sinatra启发的微型Web框架,使用WAI和Warp。
- Spock:另一个用于快速开发的Haskell Web框架。
- Servant:类型级Web DSL。
- Yesod:Haskell RESTful Web框架。
Elixir
- Phoenix:用于构建HTML5应用、API后端和分布式系统的框架。
- Plug:Web应用间可组合模块的规范和便利工具。
Erlang
Postgres
- PostgREST:从任何现有PostgreSQL数据库提供RESTful API。
- pREST:pREST是一种用Go编写的从任何数据库提供RESTful API的方式。
MySQL
PHP
R
C#
其他
API客户端开发工具
通用
Ruby
Java
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变得容易。
托管
桌面
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。
桌面
API设计指南
API发布
API网关
API安全
API Web扫描器
- Cherrybomb: 停止半完成的API规范!Cherrybomb是一个CLI工具,通过验证您的API规范来帮助您避免未定义的用户行为。
API监控
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