Full Stack Python logo Full Stack Python

全部主题 | Blog | 时讯 | @fullstackpython | Facebook | 源码

API 的创建

创建和分布 API 能使你的 Web 应用可以通过机器间的通信与其它应用进行交互。

API 创建的相关框架

  • Django REST 框架Tastypie 是 Django 中两个最常用的 API 框架。 当前 Django REST 框架的功能由乱轰轰的社区情绪决定。由于 Tom Christie 在 Kickstarter 上成功地募集到了资金,Django REST 框架在 3.0 版本后 还将有大的改进。

  • Flask-RESTful 是 Flask 中常用于创建 Web API 的框架。它最先由 Twilio 开源,并在一篇博客中进行了讲解,然后又移交给了 它自己的 GitHub 组织,从而使得公司外部的工程师也可以成为核心贡献者。

  • Flask API 是另一个能从 Flask Web 应用中导出 API 的通用库。

  • Sandman 是一款广泛使用的工具,它能从旧数据中自动生成 RESTful API 服务,无需编写一行代码(虽然它很容易通过代码扩展)。

  • Cornice 是 Pyramid 中的一个 REST 框架。

  • Restless 是一个轻量级的 API 框架,意在不关联任何框架。其基本理念是:只需很少的移植量,就能将相同的 API 代码用于 Django、 Flask、 Bottle、 Pyramid 或任何其它 WSGI 框架。

  • Eve 是一个用 Flask、MongoDB 和 Redis 构建的 Python REST 框架。该框架的主要作者 Nicola IarocciEuroPython 2014 作了一次精彩的演讲,并对该框架的主要功能特性进行了介绍。

  • Falcon 是一个快速的轻量级框架,非常适合用于创建 RESTful API。

  • Hug 基于 Falcon 和 Python3,它的目标是使开发 Python 驱动的 API 尽可能简单。它借助 Python3 的函数注释功能对进入和输出的 API 参数进行自动的验证和转换。

  • Pycnic 是一个以 REST 思想设计的纯 JSON-API 框架。

API 测试框架

创建、运行和维护 API 与创建、运行和维护一个 Web 应用需要花费相同的精力。API 测试框架等同于 Web 应用中的浏览器测试框架。

  • zato-apitest 能调用 HTTP API, 并提供能通过其它测试框架运行的回调挂勾。

托管的 API 测试服务

  • Runscope 是一款 API 测试 SaaS 应用,它对你自己的 API 和你的应用所依赖的外部 API 都能测试。

  • API Science 专注于尝试 API 测试,包括多步 API 调用和外部 API 监测。

  • SmartBear 中有几款 API 监测和测试工具。

API 创建相关资源

针对 Python 的 API 创建相关资源

Django REST 框架相关资源

API 创建的学习清单

  • 选择一款适合用于你的 Web 应用的 API 框架。Django 项目我推荐 Django REST 框架,Flask 项目我推荐 Flask-RESTful。

  • 首先为 API 构想出一个简单的使用案例。通常该使用案例要么是关于用户所需的机器可读格式的数据,要么是针对像 iOS 或 Android 移动应用等其它客户端的后端。

  • 通过 OAuth 或者一个令牌方案添加一个认证机制。

  • 为 API 增加使用限制,如何数据使用量会引起性能问题的话。还要加入基本的度量功能,从而能检测 API 的访问频度及其是否运行正常。

  • 提供丰富的文档及关于该 API 如何访问和使用的示例。

  • 想出其它的使用案例,并基于你从开始时的 API 使用案例中学到的知识进行扩展。

为项目创建好 API 后,接下来要做什么?

什么是 Web 应用编程接口(APIs)?

怎样将现有的 Web API 整合到我的应用中?

给我一份最佳 Python 学习资料吧。

#### 在这里注册以便每月能收到一份邮件资料,内容包含本站的主要更新、教程和 Python 书籍的打折码等。

The Full Stack Python Guide to Deployments 想找到一个完整的,一步一步的部署方案吗?请看《The Full Stack Python Guide to Deployments》.

邮件获取更新

##### 注册以便每月能收到一份邮件资料,内容包含本站的主要更新和 Python 教程。

目录

1. 简介学习编程为什么用 Python?Python 2 还是 3?企业 PythonPython CommunityBest Python Podcasts最佳 Python 资源最佳 Python 视频2. 开发环境VimEmacs3. 核心语言生成器推导式4. Web 开发Web 框架DjangoFlaskBottlePyramidMorepath其它 Web 框架Web 设计级联样式表 (CSS)JavaScriptWebSockets模板引擎Web 应用安全静态网站生成器Jinja25. 数据关系型数据库NoSQL 数据存储对象关系映射器PostgreSQLMySQLSQLite6. Web APIsAPI 集成API 的创建Twilio7. 部署服务器平台即服务(PaaS)操作系统Web 服务器WSGI 服务器源码控制应用程序依赖静态内容任务队列配置管理持续集成日志监控Web 分析Docker缓存微服务DevOpsNginxApache HTTP 服务器CaddyGreen Unicorn (Gunicorn)UbuntuPelicanLektorMkDocs8. 测试单元测试集成测试代码度量调试9. MetaBotsChange LogFuture DirectionsAbout the AuthorSQLAlchemyPeewee …或者显示全部目录内容.

API 的创建

重要的更新内容会通过 Twitter 账号@fullstackpython发布。


需要更加详细的教程吗?请看 《The Full Stack Python Guide to Deployments》。

Chapters

1. 简介2. 开发环境3. 核心语言4. Web 开发5. 数据6. Web APIs » API 的创建 7. 部署8. 测试9. Meta …or view the full table of contents.


This site is based on Matt Makai's project Full Stack Python, thanks for his excellent work!

此网站由 @haiiiiiyun开源爱好者们 共同维护。 若发现错误或想贡献,请访问: Github fullstackpython.cn 项目