tachybase_todo/docs/zh-CN/development/http-api/action-api.md
chenos 4412efc145
feat(client,sdk): improve api client (#425)
* feat(client,sdk): improve api client

* feat: add test cases

* docs: update doc

* fix(sdk): cannot destructure property 'authClass' of 'instance' as it is undefined
2022-05-27 00:00:59 +08:00

140 lines
1.7 KiB
Markdown

# Action API
## Common
---
Collection 和 Association 资源通用。
### `create`
```bash
POST /api/users:create?whitelist=a,b&blacklist=c,d
{} # Request Body
```
- Parameters
- whitelist 白名单
- blacklist 黑名单
- Request body: 待插入的 JSON 数据
- Response body data: 已创建的数据 JSON
#### 新增用户
```bash
POST /api/users:create
Request Body
{
"email": "demo@nocobase.com",
"name": "Admin"
}
Response 200 (application/json)
{
"data": {},
}
```
#### 新增用户文章
```bash
POST /api/users/1/posts:create
Request Body
{
"title": "My first post"
}
Response 200 (application/json)
{
"data": {}
}
```
#### Request Body 里的 association
```bash
POST /api/posts:create
Request Body
{
"title": "My first post",
"user": 1
}
Response 200 (application/json)
{
"data": {
"id": 1,
"title": "My first post",
"userId": 1,
"user": {
"id": 1
}
}
}
```
### `update`
```bash
POST /api/users:create?filterByTk=1&whitelist=a,b&blacklist=c,d
{} # Request Body
```
- Parameters
- whitelist 白名单
- blacklist 黑名单
- filterByTk 根据 tk 字段过滤,默认情况 tk 为数据表的主键
- filter 过滤,支持 json string
- Request body: 待更新的 JSON 数据
#### Request Body 里的 association
```bash
POST /api/posts:update/1
Request Body
{
"title": "My first post 2",
"user": 2
}
Response 200 (application/json)
{
"data": [
{
"id": 1,
"title": "My first post 2",
"userId": 2,
"user": {
"id": 2
}
}
]
}
```
### `list`
### `get`
### `destroy`
### `move`
## Association
---
### `add`
### `set`
### `remove`
### `toggle`