字典管理系统提供字典类型和字典项的管理功能,支持树形结构展示、增删改查、批量操作等功能。
/api/v1{
"code": "000000",
"message": "成功",
"data": {},
"timestamp": "2026-02-22T10:00:00.000Z"
}
000000: 成功100001: 参数验证失败200002: 令牌失效300001: 资源不存在400001: 业务逻辑错误500001: 服务器内部错误获取所有字典类型的树形结构,用于左侧树形展示。
接口地址: GET /api/v1/dict/category/tree
请求头:
Authorization: Bearer {token}
响应示例:
{
"code": "000000",
"message": "成功",
"data": [
{
"category_id": "file_type",
"category_name": "文件类型枚举定义",
"parent_field": "0",
"children": []
},
{
"category_id": "professional_type",
"category_name": "专业类型枚举定义",
"parent_field": "0",
"children": []
}
],
"timestamp": "2026-02-22T10:00:00.000Z"
}
获取字典类型列表,支持关键字搜索和分页。
接口地址: POST /api/v1/dict/category/list
请求头:
Authorization: Bearer {token}
Content-Type: application/json
请求参数:
{
"keyword": "文件",
"page": 1,
"page_size": 10
}
参数说明: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | keyword | string | 否 | 关键字搜索(搜索类型名称和编号) | | page | int | 是 | 页码,从1开始 | | page_size | int | 是 | 每页数量,1-100 |
响应示例:
{
"code": "000000",
"message": "成功",
"data": {
"list": [
{
"category_id": "file_type",
"category_no": "file_type",
"category_name": "文件类型枚举定义",
"category_desc": "文件类型枚举定义",
"parent_field": "0",
"category_level": "1",
"del_flag": "0",
"created_by": "user_id",
"created_time": "2026-02-22T10:00:00",
"updated_by": "user_id",
"updated_time": "2026-02-22T10:00:00",
"created_by_name": "管理员",
"updated_by_name": "管理员"
}
],
"total": 8,
"page": 1,
"page_size": 10
},
"timestamp": "2026-02-22T10:00:00.000Z"
}
根据ID获取字典类型详细信息。
接口地址: GET /api/v1/dict/category/{category_id}
请求头:
Authorization: Bearer {token}
路径参数: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | category_id | string | 是 | 字典类型ID |
响应示例:
{
"code": "000000",
"message": "成功",
"data": {
"category_id": "file_type",
"category_no": "file_type",
"category_name": "文件类型枚举定义",
"category_desc": "文件类型枚举定义",
"parent_field": "0",
"category_level": "1",
"del_flag": "0",
"created_by": "user_id",
"created_time": "2026-02-22T10:00:00",
"updated_by": "user_id",
"updated_time": "2026-02-22T10:00:00",
"created_by_name": "管理员",
"updated_by_name": "管理员"
},
"timestamp": "2026-02-22T10:00:00.000Z"
}
创建新的字典类型。
接口地址: POST /api/v1/dict/category
请求头:
Authorization: Bearer {token}
Content-Type: application/json
请求参数:
{
"category_no": "custom_type",
"category_name": "自定义类型",
"category_desc": "自定义类型说明",
"parent_field": "0",
"category_level": "1"
}
参数说明: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | category_no | string | 否 | 字典类型编号,最大512字符 | | category_name | string | 是 | 字典类型名称,最大512字符 | | category_desc | string | 否 | 字典类型备注,最大512字符 | | parent_field | string | 否 | 父节点ID,默认"0"表示根节点 | | category_level | string | 否 | 字典层级 |
响应示例:
{
"code": "000000",
"message": "字典类型创建成功",
"data": {
"category_id": "uuid-generated-id"
},
"timestamp": "2026-02-22T10:00:00.000Z"
}
更新字典类型信息。
接口地址: PUT /api/v1/dict/category/{category_id}
请求头:
Authorization: Bearer {token}
Content-Type: application/json
路径参数: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | category_id | string | 是 | 字典类型ID |
请求参数:
{
"category_name": "更新后的类型名称",
"category_desc": "更新后的说明"
}
参数说明: 所有字段均为可选,只更新提供的字段
响应示例:
{
"code": "000000",
"message": "字典类型更新成功",
"data": null,
"timestamp": "2026-02-22T10:00:00.000Z"
}
删除字典类型(逻辑删除)。
接口地址: DELETE /api/v1/dict/category/{category_id}
请求头:
Authorization: Bearer {token}
路径参数: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | category_id | string | 是 | 字典类型ID |
响应示例:
{
"code": "000000",
"message": "字典类型删除成功",
"data": null,
"timestamp": "2026-02-22T10:00:00.000Z"
}
注意事项:
获取字典项列表,支持按字典类型、关键字、启用状态筛选。
接口地址: POST /api/v1/dict/item/list
请求头:
Authorization: Bearer {token}
Content-Type: application/json
请求参数:
{
"category_id": "file_type",
"keyword": "标准",
"enable_flag": "1",
"page": 1,
"page_size": 10
}
参数说明: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | category_id | string | 否 | 字典类型ID | | keyword | string | 否 | 关键字搜索(搜索名称、值、备注) | | enable_flag | string | 否 | 启用状态:1启用,0禁用 | | page | int | 是 | 页码,从1开始 | | page_size | int | 是 | 每页数量,1-100 |
响应示例:
{
"code": "000000",
"message": "成功",
"data": {
"list": [
{
"dict_id": 1,
"dict_name": "国家标准",
"dict_value": "GB",
"dict_desc": "National Standard",
"category_id": "file_type",
"category_name": "文件类型枚举定义",
"enable_flag": "1",
"del_flag": "0",
"sort": 1,
"created_by": "user_id",
"created_time": "2026-02-22T10:00:00",
"updated_by": "user_id",
"updated_time": "2026-02-22T10:00:00",
"created_by_name": "管理员",
"updated_by_name": "管理员"
}
],
"total": 12,
"page": 1,
"page_size": 10
},
"timestamp": "2026-02-22T10:00:00.000Z"
}
根据ID获取字典项详细信息。
接口地址: GET /api/v1/dict/item/{dict_id}
请求头:
Authorization: Bearer {token}
路径参数: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | dict_id | int | 是 | 字典项ID |
响应示例:
{
"code": "000000",
"message": "成功",
"data": {
"dict_id": 1,
"dict_name": "国家标准",
"dict_value": "GB",
"dict_desc": "National Standard",
"category_id": "file_type",
"category_name": "文件类型枚举定义",
"enable_flag": "1",
"del_flag": "0",
"sort": 1,
"created_by": "user_id",
"created_time": "2026-02-22T10:00:00",
"updated_by": "user_id",
"updated_time": "2026-02-22T10:00:00",
"created_by_name": "管理员",
"updated_by_name": "管理员"
},
"timestamp": "2026-02-22T10:00:00.000Z"
}
创建新的字典项。
接口地址: POST /api/v1/dict/item
请求头:
Authorization: Bearer {token}
Content-Type: application/json
请求参数:
{
"dict_name": "自定义项",
"dict_value": "CUSTOM",
"dict_desc": "Custom Item",
"category_id": "file_type",
"enable_flag": "1",
"sort": 100
}
参数说明: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | dict_name | string | 是 | 字典名称,最大512字符 | | dict_value | string | 是 | 字典值,最大512字符 | | dict_desc | string | 否 | 字典备注,最大512字符 | | category_id | string | 是 | 字典类型ID | | enable_flag | string | 否 | 启用标志:1启用,0禁用,默认1 | | sort | int | 否 | 排序值 |
响应示例:
{
"code": "000000",
"message": "字典项创建成功",
"data": {
"dict_id": 100
},
"timestamp": "2026-02-22T10:00:00.000Z"
}
更新字典项信息。
接口地址: PUT /api/v1/dict/item/{dict_id}
请求头:
Authorization: Bearer {token}
Content-Type: application/json
路径参数: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | dict_id | int | 是 | 字典项ID |
请求参数:
{
"dict_name": "更新后的名称",
"dict_desc": "更新后的备注",
"sort": 50
}
参数说明: 所有字段均为可选,只更新提供的字段
响应示例:
{
"code": "000000",
"message": "字典项更新成功",
"data": null,
"timestamp": "2026-02-22T10:00:00.000Z"
}
删除字典项(逻辑删除)。
接口地址: DELETE /api/v1/dict/item/{dict_id}
请求头:
Authorization: Bearer {token}
路径参数: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | dict_id | int | 是 | 字典项ID |
响应示例:
{
"code": "000000",
"message": "字典项删除成功",
"data": null,
"timestamp": "2026-02-22T10:00:00.000Z"
}
批量删除多个字典项(逻辑删除)。
接口地址: POST /api/v1/dict/item/batch-delete
请求头:
Authorization: Bearer {token}
Content-Type: application/json
请求参数:
{
"dict_ids": [1, 2, 3, 4, 5]
}
参数说明: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | dict_ids | array | 是 | 字典项ID列表 |
响应示例:
{
"code": "000000",
"message": "成功删除5个字典项",
"data": null,
"timestamp": "2026-02-22T10:00:00.000Z"
}
启用或禁用字典项。
接口地址: PUT /api/v1/dict/item/{dict_id}/toggle-status?enable_flag={flag}
请求头:
Authorization: Bearer {token}
路径参数: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | dict_id | int | 是 | 字典项ID |
查询参数: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | enable_flag | string | 是 | 启用标志:1启用,0禁用 |
响应示例:
{
"code": "000000",
"message": "字典项启用成功",
"data": null,
"timestamp": "2026-02-22T10:00:00.000Z"
}
import requests
# 基础配置
BASE_URL = "http://localhost:8000/api/v1"
TOKEN = "your_access_token"
headers = {
"Authorization": f"Bearer {TOKEN}",
"Content-Type": "application/json"
}
# 1. 获取字典类型树
response = requests.get(f"{BASE_URL}/dict/category/tree", headers=headers)
print(response.json())
# 2. 获取字典项列表
data = {
"category_id": "file_type",
"page": 1,
"page_size": 10
}
response = requests.post(f"{BASE_URL}/dict/item/list", headers=headers, json=data)
print(response.json())
# 3. 创建字典项
data = {
"dict_name": "测试项",
"dict_value": "TEST",
"dict_desc": "Test Item",
"category_id": "file_type",
"enable_flag": "1",
"sort": 100
}
response = requests.post(f"{BASE_URL}/dict/item", headers=headers, json=data)
print(response.json())
const BASE_URL = "http://localhost:8000/api/v1";
const TOKEN = "your_access_token";
const headers = {
"Authorization": `Bearer ${TOKEN}`,
"Content-Type": "application/json"
};
// 1. 获取字典类型树
fetch(`${BASE_URL}/dict/category/tree`, { headers })
.then(res => res.json())
.then(data => console.log(data));
// 2. 获取字典项列表
fetch(`${BASE_URL}/dict/item/list`, {
method: "POST",
headers,
body: JSON.stringify({
category_id: "file_type",
page: 1,
page_size: 10
})
})
.then(res => res.json())
.then(data => console.log(data));
// 3. 创建字典项
fetch(`${BASE_URL}/dict/item`, {
method: "POST",
headers,
body: JSON.stringify({
dict_name: "测试项",
dict_value: "TEST",
dict_desc: "Test Item",
category_id: "file_type",
enable_flag: "1",
sort: 100
})
})
.then(res => res.json())
.then(data => console.log(data));