mirror of
https://gitee.com/nocobase/nocobase.git
synced 2025-05-06 22:19:25 +08:00
88 lines
1.5 KiB
Markdown
88 lines
1.5 KiB
Markdown
---
|
||
title: '@nocobase/sdk'
|
||
order: 3
|
||
# toc: menu
|
||
---
|
||
|
||
# @nocobase/sdk <Badge>待完善</Badge>
|
||
|
||
## 介绍
|
||
|
||
## 安装
|
||
|
||
```bash
|
||
yarn add @nocobase/sdk
|
||
```
|
||
|
||
## Usage
|
||
|
||
SDK:
|
||
|
||
|
||
```ts
|
||
import API from '@nocobase/sdk';
|
||
|
||
const api = new API({
|
||
baseUrl: 'http://localhost:3000/api'
|
||
});
|
||
|
||
// 细节待补充
|
||
await api.resource('demos').list();
|
||
await api.resource('demos').create();
|
||
await api.resource('demos').get();
|
||
await api.resource('demos').update();
|
||
await api.resource('demos').destroy();
|
||
```
|
||
|
||
HTTP API:
|
||
|
||
```bash
|
||
GET http://localhost:3000/api/demos
|
||
POST http://localhost:3000/api/demos
|
||
GET http://localhost:3000/api/demos/1
|
||
PUT http://localhost:3000/api/demos/1
|
||
DELETE http://localhost:3000/api/demos/1
|
||
```
|
||
|
||
## API
|
||
|
||
```bash
|
||
# 独立资源
|
||
<requestMethod> /api/<resourceName>:<actionName>?<queryString>
|
||
<requestMethod> /api/<resourceName>:<actionName>/<resourceKey>?<queryString>
|
||
|
||
# 关系资源
|
||
<requestMethod> /api/<associatedName>/<associatedKey>/<resourceName>:<actionName>?<queryString>
|
||
<requestMethod> /api/<associatedName>/<associatedKey>/<resourceName>:<actionName>/<resourceKey>?<queryString>
|
||
|
||
<body> # 非 GET 请求时,可以提供 body 数据,一般为 JSON 格式
|
||
```
|
||
|
||
## SDK
|
||
|
||
与 context.action.params 参数大体一致:
|
||
|
||
```ts
|
||
api.resource('<resourceName>').<actionName>({
|
||
resourceKey,
|
||
filter,
|
||
fields,
|
||
sort,
|
||
page,
|
||
perPage,
|
||
values,
|
||
});
|
||
|
||
// 关系资源
|
||
api.resource('<associatedName>.<resourceName>').<actionName>({
|
||
associatedKey,
|
||
resourceKey,
|
||
filter,
|
||
fields,
|
||
sort,
|
||
page,
|
||
perPage,
|
||
values,
|
||
});
|
||
```
|