云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

香港带宽_公司网站建设方案书_返利

小七 141 0

数据分析_如何使用_物联网的智能家居

TL:DR:这是两篇文章系列的第一篇,展示了如何通过实际应用REST架构原则来构建客户机-服务器系统。在本部分中,您将学习如何通过为Auth0管理API实现一个简单的仪表板包装器来创建restfulapi。在第二部分,REST架构-构建客户机,您将学习如何实现使用API的RESTful客户端。为了构建应用程序,您将使用快递.js以及React.js公司,但这些原则对任何语言和平台都有效。您可以在这个GitHub存储库中找到最终项目的代码。"大多数RESTful api并不是真正的RESTful。了解如何构建真正实现该范例的API,以及如何创建一个知道如何导航系统的客户端。"在推特上留言休息到底是什么?大多数开发人员至少听说过一次REST和restfulapi,其中许多人已经实现并使用了这种API。或者至少,他们是这么认为的。REST和RESTful术语被广泛使用,以至于人们常常忘记了最初的含义和目的。换句话说,我们都习惯于谈论REST和restfulapi,以至于我们不再意识到在许多情况下,这是对这些术语的不当使用。让我们简要回顾一下REST是什么。根据Roy-Thomas-Fielding在博士论文中给出的最初定义,表示状态转移(REST)是分布式超媒体系统的一种架构风格。它定义了一组系统必须遵守的原则,什么是物联网工程,以便获得一些好处,例如客户机和服务器之间的松散耦合、可伸缩性、可靠性和更好的性能。在他的讨论中,Fielding将万维网描述为RESTful系统的一个具体例子,服务器 云服务器,RESTful系统是一个实现REST架构原则的系统。大多数开发人员将此建议作为灵感,并开始使用现有的Web标准(如HTTP、JSON等)开发api。RESTful API与HTTP API不幸的是,大多数开发人员只使用了构建真正RESTful系统所依据的原则的一部分。在大多数情况下,所谓RESTful API的设计包括:定义可通过HTTP访问的资源用URL标识这些资源将这些资源上的CRUD(创建、检索、更新、删除)操作映射到标准HTTP方法(POST、GET、PUT、Delete)也许在某些情况下,您可以找到内容协商,即客户机请求服务器以特定格式而不是通常的JSON格式提供资源表示的能力。但通常不会执行其他操作。对于一个被恰当地称为RESTful的API来说,几乎总是缺少HATEOAS(或简单的超媒体)的支持,即客户机发现相关资源和驱动应用程序状态转换的能力。这似乎是一个细节,但毕竟架构模型名称反映了这一点:状态转移。正如Fielding所强调的,这种状态转移管理是将API称为RESTful的强制要求。鉴于此,大多数现有的api都不能称为RESTful。由于它们中的大多数只依赖于使用HTTP作为通信协议,云服务器的,所以它们应该被称为httpapi或类似的名称。但是如何在API中实现超媒体呢?这对客户意味着什么?应用REST架构的所有原则会给您带来什么好处?通过继续阅读本系列的两篇文章,您将发现这一点。"了解真正的RESTful API实现给我们带来的好处。"在推特上留言一些注意事项无论如何,在继续之前,你需要知道一些注意事项。本文不是对REST和restfulapi的介绍。本文假设您对REST有基本的了解,即使您只是知道它是构建httpapi的一种方法。如果你不太了解REST,请看一些在线介绍教程。本文将通过一篇实际的应用实例来指导您使用RESTful系统节点.js表达和反应。即使您可以在任何平台上应用REST原则,您也应该熟悉这些技术,以便构建和运行要实现的示例应用程序。Auth0仪表板项目您将学习如何通过实现一个简单的Auth0定制仪表板来构建真正的RESTful系统。Auth0帮助您使用多个身份验证源向应用程序添加身份验证,并控制对应用程序资源的访问授权。您可以通过功能强大的仪表板配置和管理应用程序与Auth0的集成。但是,有哪些云服务器,Auth0还为您提供了Auth0管理API,允许您自动执行管理任务或创建自己的自定义仪表板。因此,您将创建自己的Auth0自定义仪表板,它允许您查看已配置的客户机应用程序列表(我们称之为Auth0客户机),并更改它们的名称和描述。项目由下图所示的组件组成:他们在系统中的角色是:客户机:这是您将在本系列的第二部分中构建的RESTful客户机;它将通过使用您将在第一部分中构建的restfulapi来实现仪表板UIrestfulapi网关:这是您要实现的restfulapi;它使用Auth0管理API来实际执行操作,因此它充当API网关Auth0管理API包装器:这个组件是Auth0管理API的一个包装器,只是为了简化代码并让您专注于restfulapi实现;它是本文中描述的项目的一个稍微修改过的版本Auth0管理API:这是实际的Auth0管理API,游戏返利平台,它允许您像官方Auth0仪表板一样管理您的租户。建立项目现在你应该对你要构建的东西有一个更清晰的概念。所以,开始建立你的项目。第一步是获取Auth0管理API包装器。您可以通过在控制台窗口中键入以下命令来获取:git clone-b起点--单分支https://github.com/auth0-blog/auth0-restful-dashboard此命令将在您的计算机中克隆包含此项目完整源代码的存储库的分支起点。这个分支机构是项目的开始。克隆分支后,文件夹中应包含以下内容:现在,转到auth0 restful dashboard文件夹下的auth0 restful management api文件夹,并通过键入以下命令安装项目的依赖项:cd auth0 restful仪表板cd auth0 restful管理apinpm安装几秒钟后,您应该安装了所需的库。配置Auth0管理API包装Auth0管理API包装器本身是一个应用程序,需要在Auth0仪表板中配置,以便授权它访问Auth0管理API。如果你没有,你可以在这里注册一个免费的Auth0帐户。因此,访问仪表板并执行以下步骤:单击+创建应用程序为应用程序命名(例如,管理API包装器)单击机器对机器应用程序单击"创建"在下一个对话框中,选择Auth0管理API项然后选择作用域阅读:客户和更新:客户端点击授权。现在,选择应用程序的"设置"选项卡,并记下域、客户端ID和客户端机密值。现在,转到auth0restfulmanagementapi文件夹并从中创建一个.env文件。环境示例文件。编辑.env文件并输入从设置部分获取的所需值:CLIENT_DOMAIN="您的域"CLIENT_ID="Auth0应用程序中的客户端ID"CLIENT_SECRET="来自Auth0应用程序的客户端机密"保存更改。如果您查看Auth0的内容经理.js文件中,您将找到一些函数的定义,稍后您将了解更多。从现在起,我们将以Auth0Manager的身份调用Auth0管理API包装器。如果您对Auth0Manager的内部结构很感兴趣并想了解更多,请阅读文章updateauth0 Applications using the Management API。创建RESTful API网关创建并配置了Auth0管理API的接口之后,现在就可以创建restfulapi网关了。请记住,这是提供对Auth0管理API的RESTful访问的组件。创建根端点restfulapi的根端点是API的初始端点。它是API的入口点,也是RESTful客户端应该知道的唯一端点。"根端点是RESTful客户端应该知道的唯一端点。"在推特上留言当它给你带来惊喜的时候,你会明白为什么它会给你带来好处。为了创建restfulapi网关,请安装快递.js通过键入以下命令来获取主体解析器依赖项:npm安装快速正文分析器现在,在同一个文件夹中创建一个索引.js将以下代码归档并放入其中://索引.jsconst express=要求('express');const Auth0Manager=需要('./Auth0Manager');需要('dotenv').config();const app=express();const apiPrefix='/api';//定义根端点应用程序获取(apiPrefix,异步(req,res)=>{const clientsState=等待getClients();回复发送(客户状态);});应用程序侦听(3001,()=>{控制台.log("监听端口3001");});//使用Auth0管理API包装并使用超媒体构建响应异步函数getClients(){等待身份验证0经理.init();const clients=等待身份验证0经理.getClients();克莱恩常量