主题
SDK API 参考
本文档提供了一单位一平台 SDK 所有 API 接口的详细说明。
API 概览
SDK 共提供 7 个 API 客户端,涵盖 21 个接口:
| API 客户端 | 接口数量 | 说明 |
|---|---|---|
| UserApiClient | 5 | 人员管理 |
| DepartmentApiClient | 4 | 部门管理 |
| RoleApiClient | 2 | 角色管理 |
| MenuApiClient | 1 | 菜单管理 |
| PermissionApiClient | 2 | 权限管理 |
| ApiManagementApiClient | 5 | 接口管理 |
| MessageApiClient | 2 | 消息发送 |
人员管理 API
UserApiClient
人员管理 API 客户端,提供人员信息的查询、搜索等功能。
注入方式
java
@Autowired
private UserApiClient userApiClient;接口列表
1. 查询人员详情
根据用户 ID 查询人员详细信息。
java
User getDetail(String userId)参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| userId | String | 是 | 用户 ID |
返回值:User - 用户实体
示例:
java
User user = userApiClient.getDetail("USER001");2. 人员列表查询
分页查询人员列表。
java
PageResult<User> getList(UserListRequest request)请求参数:UserListRequest
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| pageNum | Integer | 是 | 页码 |
| pageSize | Integer | 是 | 每页数量 |
| deptId | String | 否 | 部门 ID |
| status | Integer | 否 | 状态(1启用 0停用) |
返回值:PageResult<User> - 分页结果
示例:
java
UserListRequest request = new UserListRequest();
request.setPageNum(1);
request.setPageSize(20);
request.setDeptId("DEPT001");
request.setStatus(1);
PageResult<User> result = userApiClient.getList(request);3. 人员搜索
根据关键字搜索人员。
java
PageResult<User> search(UserSearchRequest request)请求参数:UserSearchRequest
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| keyword | String | 是 | 搜索关键字 |
| pageNum | Integer | 是 | 页码 |
| pageSize | Integer | 是 | 每页数量 |
返回值:PageResult<User> - 分页结果
示例:
java
UserSearchRequest request = new UserSearchRequest();
request.setKeyword("张三");
request.setPageNum(1);
request.setPageSize(20);
PageResult<User> result = userApiClient.search(request);4. 查询人员角色
查询指定人员拥有的角色列表。
java
List<Role> getRoles(String userId)参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| userId | String | 是 | 用户 ID |
返回值:List<Role> - 角色列表
示例:
java
List<Role> roles = userApiClient.getRoles("USER001");5. 查询人员部门
查询指定人员所属的部门信息。
java
Department getDepartment(String userId)参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| userId | String | 是 | 用户 ID |
返回值:Department - 部门信息
示例:
java
Department dept = userApiClient.getDepartment("USER001");部门管理 API
DepartmentApiClient
部门管理 API 客户端,提供部门信息的查询、搜索等功能。
注入方式
java
@Autowired
private DepartmentApiClient departmentApiClient;接口列表
1. 查询部门详情
根据部门 ID 查询部门详细信息。
java
Department getDetail(String deptId)参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| deptId | String | 是 | 部门 ID |
返回值:Department - 部门实体
示例:
java
Department dept = departmentApiClient.getDetail("DEPT001");2. 部门列表查询
分页查询部门列表。
java
PageResult<Department> getList(DepartmentListRequest request)请求参数:DepartmentListRequest
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| pageNum | Integer | 是 | 页码 |
| pageSize | Integer | 是 | 每页数量 |
| parentId | String | 否 | 父部门 ID |
| status | Integer | 否 | 状态(1启用 0停用) |
返回值:PageResult<Department> - 分页结果
示例:
java
DepartmentListRequest request = new DepartmentListRequest();
request.setPageNum(1);
request.setPageSize(20);
request.setParentId("PARENT_DEPT_001");
PageResult<Department> result = departmentApiClient.getList(request);3. 部门树查询
查询完整的部门树结构。
java
List<DepartmentTree> getTree()返回值:List<DepartmentTree> - 部门树列表
示例:
java
List<DepartmentTree> tree = departmentApiClient.getTree();4. 部门搜索
根据关键字搜索部门。
java
PageResult<Department> search(DepartmentSearchRequest request)请求参数:DepartmentSearchRequest
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| keyword | String | 是 | 搜索关键字 |
| pageNum | Integer | 是 | 页码 |
| pageSize | Integer | 是 | 每页数量 |
返回值:PageResult<Department> - 分页结果
示例:
java
DepartmentSearchRequest request = new DepartmentSearchRequest();
request.setKeyword("技术部");
request.setPageNum(1);
request.setPageSize(20);
PageResult<Department> result = departmentApiClient.search(request);角色管理 API
RoleApiClient
角色管理 API 客户端,提供角色信息的查询功能。
注入方式
java
@Autowired
private RoleApiClient roleApiClient;接口列表
1. 查询角色详情
根据角色 ID 查询角色详细信息。
java
Role getDetail(String roleId)参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| roleId | String | 是 | 角色 ID |
返回值:Role - 角色实体
示例:
java
Role role = roleApiClient.getDetail("ROLE001");2. 角色列表查询
分页查询角色列表。
java
PageResult<Role> getList(RoleListRequest request)请求参数:RoleListRequest
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| pageNum | Integer | 是 | 页码 |
| pageSize | Integer | 是 | 每页数量 |
| status | Integer | 否 | 状态(1启用 0停用) |
返回值:PageResult<Role> - 分页结果
示例:
java
RoleListRequest request = new RoleListRequest();
request.setPageNum(1);
request.setPageSize(20);
request.setStatus(1);
PageResult<Role> result = roleApiClient.getList(request);菜单管理 API
MenuApiClient
菜单管理 API 客户端,提供菜单数据的查询功能。
注入方式
java
@Autowired
private MenuApiClient menuApiClient;接口列表
1. 查询菜单数据
根据条件查询菜单数据。
java
List<Menu> query(MenuQueryRequest request)请求参数:MenuQueryRequest
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | String | 否 | 菜单类型 |
| parentId | String | 否 | 父菜单 ID |
| status | Integer | 否 | 状态(1启用 0停用) |
返回值:List<Menu> - 菜单列表
示例:
java
MenuQueryRequest request = new MenuQueryRequest();
request.setType("MENU");
request.setParentId("0");
request.setStatus(1);
List<Menu> menus = menuApiClient.query(request);权限管理 API
PermissionApiClient
权限管理 API 客户端,提供用户和角色菜单权限的查询功能。
注入方式
java
@Autowired
private PermissionApiClient permissionApiClient;接口列表
1. 查询用户菜单
查询指定用户可访问的菜单列表。
java
List<Menu> getUserMenu(String userId)参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| userId | String | 是 | 用户 ID |
返回值:List<Menu> - 菜单列表
示例:
java
List<Menu> menus = permissionApiClient.getUserMenu("USER001");2. 查询角色菜单
查询指定角色可访问的菜单列表。
java
List<Menu> getRoleMenu(String roleId)参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| roleId | String | 是 | 角色 ID |
返回值:List<Menu> - 菜单列表
示例:
java
List<Menu> menus = permissionApiClient.getRoleMenu("ROLE001");接口管理 API
ApiManagementApiClient
接口管理 API 客户端,提供接口元数据的增删改查功能。
注入方式
java
@Autowired
private ApiManagementApiClient apiManagementApiClient;接口列表
1. 创建接口元数据
创建新的接口元数据。
java
String create(ApiMetadataCreateRequest request)请求参数:ApiMetadataCreateRequest
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| apiName | String | 是 | 接口名称 |
| apiPath | String | 是 | 接口路径 |
| apiMethod | String | 是 | 请求方法(GET/POST/PUT/DELETE) |
| apiDesc | String | 否 | 接口描述 |
返回值:String - 接口 ID
示例:
java
ApiMetadataCreateRequest request = new ApiMetadataCreateRequest();
request.setApiName("查询用户");
request.setApiPath("/api/user/list");
request.setApiMethod("GET");
request.setApiDesc("查询用户列表");
String apiId = apiManagementApiClient.create(request);2. 更新接口元数据
更新接口元数据信息。
java
void update(ApiMetadataUpdateRequest request)请求参数:ApiMetadataUpdateRequest
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| apiId | String | 是 | 接口 ID |
| apiName | String | 否 | 接口名称 |
| apiDesc | String | 否 | 接口描述 |
示例:
java
ApiMetadataUpdateRequest request = new ApiMetadataUpdateRequest();
request.setApiId("API001");
request.setApiName("查询用户(更新)");
request.setApiDesc("更新后的描述");
apiManagementApiClient.update(request);3. 删除接口元数据
删除指定的接口元数据。
java
void delete(String apiId)参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| apiId | String | 是 | 接口 ID |
示例:
java
apiManagementApiClient.delete("API001");4. 查询接口详情
查询接口元数据详细信息。
java
ApiMetadata getDetail(String apiId)参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| apiId | String | 是 | 接口 ID |
返回值:ApiMetadata - 接口元数据
示例:
java
ApiMetadata metadata = apiManagementApiClient.getDetail("API001");5. 接口列表查询
分页查询接口元数据列表。
java
PageResult<ApiMetadata> getList(ApiMetadataListRequest request)请求参数:ApiMetadataListRequest
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| pageNum | Integer | 是 | 页码 |
| pageSize | Integer | 是 | 每页数量 |
返回值:PageResult<ApiMetadata> - 分页结果
示例:
java
ApiMetadataListRequest request = new ApiMetadataListRequest();
request.setPageNum(1);
request.setPageSize(20);
PageResult<ApiMetadata> result = apiManagementApiClient.getList(request);消息发送 API
MessageApiClient
消息发送 API 客户端,提供单条和批量消息发送功能。
注入方式
java
@Autowired
private MessageApiClient messageApiClient;接口列表
1. 发送单条消息
向指定用户发送消息。
java
void send(MessageSendRequest request)请求参数:MessageSendRequest
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| userId | String | 是 | 接收用户 ID |
| messageTitle | String | 是 | 消息标题 |
| messageContent | String | 是 | 消息内容 |
| messageType | String | 是 | 消息类型 |
示例:
java
MessageSendRequest request = new MessageSendRequest();
request.setUserId("USER001");
request.setMessageTitle("系统通知");
request.setMessageContent("您有一条新的审批待处理");
request.setMessageType("NOTIFICATION");
messageApiClient.send(request);2. 批量发送消息
向多个用户批量发送消息。
java
void batchSend(MessageBatchSendRequest request)请求参数:MessageBatchSendRequest
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| userIds | List<String> | 是 | 接收用户 ID 列表 |
| messageTitle | String | 是 | 消息标题 |
| messageContent | String | 是 | 消息内容 |
| messageType | String | 是 | 消息类型 |
示例:
java
MessageBatchSendRequest request = new MessageBatchSendRequest();
request.setUserIds(Arrays.asList("USER001", "USER002", "USER003"));
request.setMessageTitle("系统通知");
request.setMessageContent("系统将在今晚进行维护");
request.setMessageType("NOTIFICATION");
messageApiClient.batchSend(request);通用数据模型
PageResult
分页结果通用模型。
java
public class PageResult<T> {
private Long total; // 总记录数
private List<T> records; // 当前页数据
}ApiResponse
API 统一响应模型。
java
public class ApiResponse<T> {
private Integer code; // 响应码
private String message; // 响应消息
private T data; // 响应数据
}错误码
所有 API 接口可能返回的错误码详见 错误处理文档。