@cube-dev/平台-客户端
输入客户端 方块云 平台控制-飞机REST API. 它将公众的OpenAPI spec包装为每个端点,请求,和响应的端到端类型,加上可选的回放查询绑定.
文档更改日志( C)
- API 参考和指南 : https://docs.cube.dev/api-reference/introduction (中文(简体) )
- 更改日志 : https://docs.cube.dev/api-reference/changelog 页面存档备份,存于互联网档案馆
本套装中的每批换船日志副本也作为 CHANGELOG.md。 。 。 .
安装
npm install @cube-dev/platform-client
# or
yarn add @cube-dev/platform-client
使用量
import { createCubePlatformClient } from '@cube-dev/platform-client';
const client = createCubePlatformClient({
baseUrl: 'https://<your-tenant>.cubecloud.dev',
// Called on every request — return the auth headers for the Platform API.
getHeaders: () => ({ Authorization: process.env.CUBE_API_TOKEN! }),
});
// `fetchClient` is a fully-typed openapi-fetch client: paths, params,
// request bodies and responses are all checked against the OpenAPI spec.
const { data, error } = await client.fetchClient.GET('/api/v1/deployments/', {
params: { query: { first: 50 } },
});
for (const deployment of data?.items ?? []) {
console.log(deployment.id, deployment.name, deployment.deploymentUrl);
}
响应查询绑定
这个 ./react-query 切入点显示一个提供者和键入的钩子 @tanstack/react-query (同行依赖,以及 react:
import { createCubePlatformClient } from '@cube-dev/platform-client';
import {
CubePlatformApiProvider,
useCubePlatformApiQuery,
} from '@cube-dev/platform-client/react-query';
const client = createCubePlatformClient({ baseUrl, getHeaders });
function App() {
return (
<CubePlatformApiProvider client={client}>
<Deployments />
</CubePlatformApiProvider>
);
}
function Deployments() {
const { data } = useCubePlatformApiQuery('get', '/api/v1/deployments/');
return <ul>{data?.items.map((deployment) => <li key={deployment.id}>{deployment.name}</li>)}</ul>;
}
类型
整套计划类型导出为 PlatformApiSchemas,和原始 OpenAPI 键 paths 编号 : operations 类型可供高级使用:
import type { PlatformApiSchemas, paths } from '@cube-dev/platform-client';
type Deployment = PlatformApiSchemas['Deployment'];
许可证
麻省理工学院