简介
npm 包 octokit-rest-plugin-add-endpoints 是一个基于 octokit/rest.js 的插件,它允许用户自定义 GitHub API 的请求地址和参数,并通过 rest.js 的方式发送请求获取数据。
本教程将会介绍 npm 包 octokit-rest-plugin-add-endpoints 的使用方式和示例,以及一些关于自定义 GitHub API 请求的注意事项和指导。
安装
npm install octokit-rest-plugin-add-endpoints --save
使用方式
使用 npm 包 octokit-rest-plugin-add-endpoints,我们需要先创建一个 rest.js 的实例,并在实例中配置插件。
示例代码:
const { Octokit } = require("@octokit/rest"); const addEndpointsPlugin = require("octokit-rest-plugin-add-endpoints"); const octokit = new Octokit({ auth: "token <your-token>", }); octokit.plugin(addEndpointsPlugin);
其中 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]
。
示例代码:
const owner = "octokit"; const repo = "rest.js"; const customState = "all"; octokit.issues.getAll({ owner, repo, state: customState }).then((response) => { console.log(response.data); });
使用 octokit.issues.getAll()
方法发送请求。在这里,我们总结一下发送请求的基本步骤:
- 根据插件的规则生成一个 API 地址字符串。
- 根据 API 地址字符串生成一个参数对象。
- 调用 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