npm 包 octokit-rest-plugin-add-endpoints 使用教程

阅读时长 4 分钟读完

简介

npm 包 octokit-rest-plugin-add-endpoints 是一个基于 octokit/rest.js 的插件,它允许用户自定义 GitHub API 的请求地址和参数,并通过 rest.js 的方式发送请求获取数据。

本教程将会介绍 npm 包 octokit-rest-plugin-add-endpoints 的使用方式和示例,以及一些关于自定义 GitHub API 请求的注意事项和指导。

安装

使用方式

使用 npm 包 octokit-rest-plugin-add-endpoints,我们需要先创建一个 rest.js 的实例,并在实例中配置插件。

示例代码:

其中 auth 参数是我们 GitHub 的个人令牌,需要在 GitHub 的 Settings - Developer settings - Personal access tokens 生成,具体生成过程可以查看 官方文档

为了演示自定义请求的功能,我们使用一个以 octokit 上的 GET /repos/:owner/:repo/issues 为基础的请求。该请求可以获取某个仓库的 issue 列表,在这个基础上,我们将继续添加一个自定义的参数 state。请求的完整地址为 GET /repos/:owner/:repo/issues?state=[custom-state]

示例代码:

使用 octokit.issues.getAll() 方法发送请求。在这里,我们总结一下发送请求的基本步骤:

  1. 根据插件的规则生成一个 API 地址字符串。
  2. 根据 API 地址字符串生成一个参数对象。
  3. 调用 rest.js 中生成的请求方法,最后返回的是一个 Promise。

在调用 octokit.issues.getAll() 方法时,传入地址和参数的逻辑是由插件实现的。具体来说,插件会按照 function:verb/endpoints 的规则生成地址字符串,如 issues:getAll 将会生成 GET /repos/:owner/:repo/issues 这个完整的请求地址。

如果我们需要设置自定义的参数,可以传入一个 config 参数,如在示例代码中的 { owner, repo, state: customState } 对象。在插件的工作流程中,该参数对象会被转换成相应的 query 字符串。例如在示例代码中,state 参数被转换成了 ?state=all 的形式。

值得注意的是,插件生成的 API 地址字符串的规则是有限制的,具体可以在插件的源代码中查看。

总结

以上是 npm 包 octokit-rest-plugin-add-endpoints 的使用教程,希望能对学习 rest.js 以及自定义 GitHub API 请求有所帮助。

最后,为了更好地理解插件使用的过程,我们可以通过写一些比较复杂的 API 地址字符串和参数对象进行实践,以提高代码掌握能力。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066f9d3d1de16d83a6703c

纠错
反馈