主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
在本系列的前一部分中,我们一直在研究什么是wp rest api以及它如何帮助我们使用wordpress后端构建更好的应用程序。
然后,我们研究了在服务器上设置身份验证以生成经过身份验证的请求的两种不同方法。第一种是基本身份验证方法,它在开发环境中非常有用,并允许快速原型制作,因为它不需要太多时间来设置。高级身份验证方法是OAuth 2.0,建议用于生产环境,因为它比基本身份验证方法安全得多。
现在我们知道了如何设置身份验证,我们已经准备好生成身份验证请求来释放WP REST API的所有功能。由于易于使用,我们将在本系列中使用基本身份验证,但我们建议您对生产服务器使用OAuth 2.0身份验证(由WordPress REST API身份验证插件提供)。
WordPress REST API身份验证插件通过添加身份验证机制来控制对API端点的访问,从而增强WordPress REST API的安全性。它附带了一些身份验证方法:
基本身份验证API密钥身份验证JWT身份验证OAuth 2.0身份验证设置身份验证后,您可以为不同的API端点定义访问控制规则。它允许您配置哪些用户或角色有权访问特定终端。它还提供了基于用户角色、能力或特定用户ID来限制访问的选项。
在本系列的当前部分中,我们将首次体验WP REST API。我们将:
分析GET请求的结构,看看OPTIONS请求是如何记录自身的。API向服务器发送请求以检索数据。分析服务器对GET请求的响应,包括属性、架构和链接。分析选项请求的使用,以浏览API、处理帖子、使用帖子修订、类别和标签以及使用其他资源。因此,我们首先分析一个简单GET请求的结构。
获取请求分析在深入研究使用WP REST API检索任何数据的细节之前,我们需要熟悉发送到服务器的请求的语法。这将为我们将来与WP REST API的交互奠定坚实的基础。
考虑以下发送到服务器的请求:
$ gethttps://local server/WP-JSON/WP/V2/post我们发送的请求类型是get-我们在本系列第一部分中介绍的六个HTTP动词之一。GET请求用于从服务器检索数据。因此,当在服务器上执行时,上述请求将以JSON数据的形式检索所有post对象的集合。
考虑到URI的请求,我们可以将其分为以下几个部分:
Https://localserver/:我的本地开发服务器的URL。它可以是任何URL,这取决于您安装WordPress的位置。/WP-JSON:WP rest API的端点前缀。/WP:WP rest API的命名空间。/v2:WP rest API的版本。/posts:这是我们要从服务器检索的资源。名称空间可以在运行多个插件时防止可能的覆盖,并且每个插件都为RESTful API提供了自己的抽象层。因此,每个抽象都在自己的边界内工作,不会影响属于其他抽象的方法和属性。
除了使用上面的URI来检索资源(帖子)集合之外,我们还可以通过提及其ID来检索特定的资源:
上面的请求$GET /wp/v2/posts/100将返回一个post对象,因为它向下查找ID为100的post资源。
通常,我们还需要搜索符合某些条件的帖子。例如,您可以按类别过滤帖子,如以下代码片段所示。
$ GET /wp/v2/posts?Categories=20,30通过发送上述请求,我们可以检索属于ID为20和ID为30的类别的所有帖子。如您所见,您可以在categories参数中传递一个或多个类别id,这应该会返回帖子以在类别分类中分配特定的术语。
上述语法等效于以下WP_Query()调用:
& lt?PHP $ Query = new WP _ Query(array(‘tax _ Query‘= & gt;array(array(‘taxonomy‘= & gt;类别,‘字段‘= & gt;term_id,‘terms‘= & gt;array(20,30,),),),),);因此,上面的GET请求将检索属于ID为20和ID为30的两个类别的帖子列表。相同的语法也可以用于包含两个以上元素的数组参数。
既然我们已经知道了如何格式化GET请求并提供其参数,那么是时候看看OPTIONS请求了。OPTIONS请求可以轻松浏览API,并且实际上可以作为一种自我记录的方式来使用,通过记录端点上所有可用的HTTP方法和参数来使API更容易获得他们的支持。
使用选项请求在API中导航如前所述,选项请求对于探索API非常有帮助。它提到了属于某个路由的所有端点,并提供了这些端点支持CRUD操作的参数列表。
让我们向/wp/v2/posts路由发送一个OPTIONS请求,以检查它支持哪些端点,我们可以沿着GET请求查询数据:
$curl -X OPTIONS /wp/v2/posts我使用curl来发送上述请求,但您可以使用您选择的任何工具,包括Postman。请确保包含上述路由的完整路径,包括您的服务器的路径。
{ & quot命名空间":& quotWP/v2 & quot;,& quot方法& quot:
该功能非常强大,因为它列出了所有路由及其支持的方法和参数,因此无需在外部记录所有这些内容。当我们在不同的资源上执行CRUD操作时,我们将引用这个响应对象。
在回顾了探索API的选项之后,让我们开始使用WP REST API从服务器检索数据。
处理帖子到目前为止,我们熟悉OPTIONS请求,这是一种评估API可用性的自我记录方式。我们还研究了它如何显示给定路由支持的方法和参数。有了这些知识,我们现在就可以使用WP REST API从服务器检索不同的资源了。
我们将从
在这个系列中,我们一直在使用
使用顶级参数WP REST API在GET端点上直接公开一些最常用的查询后变量。这些参数是:
表示上下文请求范围的参数。可能的值有查看、嵌入或编辑。默认值为视图。文章收藏的当前页面。默认值为1。每页文章总数。默认值为10。搜索搜索查询。将结果限制为匹配的字符串。After仅返回在此参数中指定的日期之后发布的帖子。Modified_after仅返回在此参数中指定的日期之后修改的帖子。作者作者ID。用于限制属于特定作者的结果。author_exclude结果集不包括分配给特定作者的帖子。以前,只返回在此参数中指定的日期之前发布的帖子。Modified_before仅返回在此参数中指定的日期之前修改的帖子。排除要从搜索结果中排除的文章ID数组。Include将结果限制在此数组中指定的文章ID。Offset将搜索结果偏移指定的数量。订单集合的顺序。可以是asc或desc。orderby集合的排序属性。可能的值包括作者、日期、ID、包含、修改、父项、相关性、slug、include _ slugs和标题。Search_columns您可以指定要搜索的列名数组。& ltstrong & gtslug & lt/strong & gt;将结果限制在具有特定slug的帖子中。状态用于限制具有特定状态的帖子的收集。Tax_relation用于根据多个分类之间的关系来限制结果集。类别按类别分类中指定的术语过滤结果集。Categories_exclude将结果集过滤为类别分类中指定的特定术语以外的项目。& ltstrong & gt标签
$GET /wp/v2/posts?context = edit编辑上下文参数在标题、内容和原始字段=“inline“》中提取。这个raw字段的值可以在编辑器中回显以编辑内容。
使用编辑上下文要求您以具有edit_posts权限的用户身份进行身份验证。
使用embed作为上下文参数的值来获取帖子集合及其属性的最小子集。
上面提到的其他参数是不言而喻的,您可以在HTTP客户端中使用它们。
这些是允许您根据特定条件查询帖子的基本参数。
如何使用其他标准来筛选记录除了使用一些基本的顶级参数来检索post集合之外,WP REST API还允许您通过各种其他标准来筛选记录。通过使用这种语法,我们可以像使用WP_Query()类一样查询帖子。
分页参数是所有过滤器中最重要的,因为它们被广泛用于帖子列表页面。分页参数允许我们每页显示特定数量的文章,并导航到包含文章的特定数量的页面。
默认情况下,GET请求检索每页10篇文章的集合。让我们看看如何提交GET请求以便每页只检索五篇文章:
$GET /wp/v2/posts?Per_page=5上述请求使用了Per_page变量。如果您使用过WP_Query(),您可能对这个变量很熟悉。
page参数与per_page参数结合使用以导航到特定数量的页面。在每页检索五篇文章后,我们将发出以下请求来导航到第二页:
$GET /wp/v2/posts?per _ page = 5 & ampPage=2当使用WP REST API在列表页面上构建分页时,per_Page和page过滤器非常方便。
除了上述请求返回的帖子集合之外,服务器还返回许多包含有用信息的标题和响应,包括帖子总数和页面数。这些值包含在X-WP-TotalPages和X-WP-Total响应头中。
X-WP-TotalPages和X-WP-Total响应头在使用WP REST API创建分页时非常有用,因为它们列出了页面和帖子的总数。
除了分页过滤器,您还可以按日期过滤帖子。
因此,如果我们想要查找2015年10月15日(yyyy/mm/DD)发布的帖子,我们可以通过以下查询来实现:
$ GET /wp/v2/posts?修改后= 2015-10-14 & amp;修改日期= 2015年10月16日。在本教程的上一节中,我们学习了如何使用categories参数来获取属于特定类别或多个类别的帖子。让我们看看如何显示属于id 5和ID 6类别的帖子:
$ GET /wp/v2/posts?Categories=5,6上述请求将检索属于ID为5和6的类别的所有帖子的列表。
通过以下方式使用categories_exclude参数可以达到相反的效果:
$ GET /wp/v2/posts?Categories_exclude=5,6这将检索帖子列表并排除属于ID为5或6的类别的所有帖子。
现在我们已经了解了在WP REST API的帮助下查询帖子的不同选项,我们准备进一步推进我们的旅程,并了解WP REST API支持的其他一些资源。
使用帖子修订、类别和标签帖子修订提供了一种查看和恢复对帖子所做编辑的方法。WP REST API提供了一种查询/post/的方法
$ GET /wp/v2/posts/10/revisions上述请求将返回一个包含修订对象的数组。修订对象包含已发布对象中的属性子集。以下是Postman中修订对象的示例:
只要我们知道它的ID,我们就可以检索特定的修订版。因此,ID为10的帖子上ID为2的修订可以通过以下对象进行检索:
$ get/WP/v2/posts/10/revisions/2上述请求将返回一个修订对象。
除了帖子修订之外,您还可以通过以下请求检索特定帖子的类别:
$ GET /wp/v2/categories?post = & ltpost _ id & gt对于标签,我们使用以下请求,其中
$ GET /wp/v2/tags?post = & ltpost _ id & gt如果我们需要检索ID为10的帖子的元数据,我们将作为经过身份验证的用户发送以下请求:
这将返回一个元对象数组。
请注意,要在WP REST API中使用帖子和页面元素,您需要安装一个插件,该插件可以从GitHub上的WP REST API团队获得。
使用其他资源到目前为止,我们已经为使用WP REST API检索数据奠定了坚实的基础。我们研究了选项请求以及它如何帮助我们在没有外部文档的情况下探索API。
您可以随时向特定资源发送OPTIONS请求,并检查它支持哪些端点和参数。如果需要列出WP REST API提供的所有路由,可以向/wp-json处的索引端点发送GET请求,就像我们在本教程开始时所做的那样。
考虑到自文档的优势,我认为我们不需要进一步探索本教程中的每个资源,因为您现在可以自己完成。
接下来会发生什么?在这篇冗长的教程中,我们学习了使用选项请求探索API和使用WP REST API从服务器检索数据。我们只查看了一些资源,包括帖子、修订和帖子元,因为我们无法在一个教程中涵盖所有受支持的资源。但是您现在应该能够使用我们在本教程中介绍的技术自己探索API了。
WordPress的经济非常活跃。有主题、插件、库和许多其他产品可以帮助您构建网站和项目。该平台的开源特性也使其成为提高编程技能的绝佳选择。
在本系列的下一部分中,我们将学习执行CRUD的其他三个操作,即创建、更新和删除资源。敬请关注。
这几篇文章你可能也喜欢:
- 暂无相关推荐文章
本文由主机参考刊发,转载请注明:用于获取数据的rest API https://zhujicankao.com/109176.html
评论前必须登录!
注册