logo
0
0
WeChat Login
Forkfromcnb/sdk/node-cnb, behindmain14 commits

介绍

badge badge badge badge badge

node-cnb 是一个用于访问 CNB API 的 node 编写的 SDK。

安装

npm install node-cnb

使用

import { getClient } from "node-cnb";

// 参数分别为 api url 和 访问令牌
const client = getClient("https://api.cnb.cool", "xxx");

client.users.pinnedRepos
  .list({
    username: "xxx",
  })
  .then((res) => {
    console.log(res);
  });
const sdk = require("node-cnb");

// 参数分别为 api url 和 访问令牌
const client = sdk.getClient("https://api.cnb.cool", "xxx");

client.users.pinnedRepos
  .list({
    username: "xxx",
  })
  .then((res) => {
    console.log(res);
  });

方法路径

方法路径有两种模式

1.请求路径拼接

方法路径为由如下几个元素组成:

  1. 第一个 /-/ 前的参数名
  2. 其他非参数名
  3. http method(若 method 为 get 且返回结果为数组则为 list)

例如:

/{repo}/-/git/branches 的路径下 get 请求的方法名为 repo.git.branches.list

/{repo}/-/git/branches/{branch} 的路径下 get 请求方法名为 repo.git.branches.get

对于此规则下方法路径仍然重复的 api,则单独定义在 pathMethodMap.json

2.Tag+operationId拼接

在 swagger json 中可以看到每个方法都有一个 Tag 和 operationId,

可以用 client.<Tag>.<operationId> 调用:

const sdk = require("node-cnb");

// 参数分别为 api url 和 访问令牌
const client = sdk.getClient("https://api.cnb.cool", "xxx");

client.Repositories.GetPinnedRepoByID({
    username: "xxx",
  })
  .then((res) => {
    console.log(res);
  });

完整api路径请参考 client.d.ts

About

node-cnb 是一个包装 CNB Open API 的 Node SDK。

Language
JavaScript66.7%
TypeScript29.9%
Dockerfile3.5%