当前位置: 首页 > 网络应用技术

什么是休息?用烧瓶框架写一个休息的API

时间:2023-03-07 11:31:44 网络应用技术

  休息是重新定位状态转移的缩写,意思是“表达状态的传播”。近年来,休息似乎已成为大多数Web API的设计风格。在本文中,我们将简单地使用Python和Python和烧瓶框架以构建一个基本的,扩展的RESTFUL API体系结构。

  REST是一种软件体系结构设计样式,可以降低开发的复杂性并提高系统的可扩展性。如果架构符合休息样式,则称为Restful体系结构。剩余样式的原始目的是适应Wanwei.com的HTTP协议,因此RENTFULERTERTENTER可以完全使用HTTP协议的各种功能,这是HTTP协议的最佳实践。其余样式的主要功能如下:

  RESTFUL API的核心概念是“资源”,可以由URI表示。客户使用HTTP协议的方法定义将请求发送给这些URI,这些URI可以完美地实现新构建,读取,更新,更新和删除“资源”。HTTP的标准方法如下:

  获取读取(读).post new.put update.patch更新通常是部分更新的。删除删除(delete)。在客户端使用HTTP的标准方法中,该请求为请求,服务器还使用HTTP的状态代码来响应。每个州法规都有一个商定的解释。客户只需要查看状态代码即可确定发生的发生。

  休息样式没有特定的数据格式,但是我们通常使用JSON作为数据交换的格式。“资源” RESTFUL API操作:

  /任务获取完整的任务列表content./tasks post创建一个新任务。/task/:id get get get get get the指定的任务内容。/task/:id put pot pute utdes tode fording tefuct tocuied task content./task/:id delete delete delete delete指定指定任务。如果您还想了解有关Restful API的设计的更多信息,则可以在本网站上了解更多详细信息,包括响应的请求和特定设计,以及无状态设计下的身份验证解决方案:Restful API:PucoriatityApi设计样式。

  首先,您需要安装Python(Python 3.9.12,这与每个版本没有太大不同)。这样,您可以直接安装各种依赖项以使用PIP安装(本文使用烧瓶2.1.2和Flask--RESTFUL 0.3.9):):

  如果您的开发环境的默认PIP来源相对较慢,建议使用Tsinghua University Tuna Association提供的镜像站。使用以下命令来修改PIP的下载源:

  以下代码是最小的烧瓶Restful API。您可以尝试运行以确认所有因依赖性已正确安装:

  如果一切正常,您可以在控制台上看到以下输出。现在,您可以启动Web浏览器并输入http:// localhost:5000,以查看此烧瓶静止API的效果。

  有许多不同的方法来组织烧瓶重新应用程序的文件结构。在这里,我们选择一个简单的-To -Expand文件组织方法。最基本的思想是将整个程序分为三个主要部分:路由,资源和公共与公共基础部分。以下是此目录结构的一个示例:

  在公共文件夹中,它可能只包含各种辅助功能来满足您应用程序的公众需求。在资源文件夹中,只有您的各种资源对象。

  那么相应的api.py可能是这样的:

  因为您可能会编写一个特别大或复杂的API,所以此文件将是所有路由和资源的复杂列表。您还可以使用此文件来设置任何配置值(_request,after_request)。基本上,此文件实际上不仅用于路由,而且还配置了整个API。

  接下来,我们开始实现文章开头设计的任务列表,以展示如何编写Restful API资源。首先,显然我们需要一种存储任务的方法。最直接的方法是构建一个小数据库,但是数据库不是本文的主体,因此我们在这里直接将任务列表存储在内存中。我们将讨论未来的文章。使用烧瓶中的数据库。

  然后,我们在资源下创建一个新资源,其内容如下:

  然后,我们将此资源添加到路由并启动服务器。您可能需要此代码:

  接下来是测试我们编写的内容。在这里,我们使用Python的请求来启动Restful API请求:

  现在,我们已经成功地实现了所有任务的恢复API的函数,现在我们开始编写单独任务的资源对象和操作,然后我们需要从URI获取参数。

  接下来,我们启动服务器并使用请求来测试新添加的内容:

  在这一点上,我们已经成功实施了资源的共同操作。

  本文主要介绍了休息设计样式和Python烧瓶Restful框架的简单使用。实际上,当我们真正编写API服务时,我们将有很多需求,例如:权限认证,调用数据库和自定义错误处理。我们可能会在以后的文章中谈论这些内容。

  本文中编写的代码是GitHub上的开源。如果您在阅读文章后有很多内容,则可能希望参考这些代码以自己尝试:GitHub:Luoely/Revoreto。

  性能层状态转换 - wikipedia,免费百科全书

  Restful API流行的API设计样式

  与Python和Flask一起设计一个宁静的API

  https:// flask- restful.readthedocs.io/en/latest/

  原始:https://juejin.cn/post/7100060184906563598