40.5. 使用 REST API 修改运行时的大小写角色分配
您可以使用 REST API 或 Swagger 应用在运行时更改问题单实例角色分配。在案例定义中定义角色,并在问题单生命周期中分配到任务。角色无法在运行时改变,因为它们是预定义的,但您可以更改分配给角色的行为,以更改负责执行案例任务的人员。
以下流程包含基于 IT_Orders 示例项目的示例。您可以使用 Swagger 应用或任何其他 REST API 客户端或 Curl 中的相同的 REST API 端点。
先决条件
-
IT 订单案例实例已使用
所有者
、经理
和供应商
角色开始。
流程
使用以下端点上的
GET
请求检索当前角色分配列表:http://localhost:8080/kie-server/services/rest/server/containers/{ID}/cases/instances/{caseId}/roles
表 40.1. 参数 Name 描述 id
itorders
caseId
IT-0000000001
这会返回以下响应:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <case-role-assignment-list> <role-assignments> <name>owner</name> <users>Aimee</users> </role-assignments> <role-assignments> <name>manager</name> <users>Katy</users> </role-assignments> <role-assignments> <name>supplier</name> <groups>Lenovo</groups> </role-assignments> </case-role-assignment-list>
要更改分配给
manager
角色的用户,您必须首先使用DELETE
从用户Katy
中删除角色分配。/server/containers/{id}/cases/instances/{caseId}/roles/{caseRoleName}
在 Swagger 客户端请求中包含以下信息:
表 40.2. 参数 Name 描述 id
itorders
caseId
IT-0000000001
caseRoleName
Manager
user
Katy
点 Execute。
再次从第一步执行
GET
请求,以检查manager
角色不再分配用户:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <case-role-assignment-list> <role-assignments> <name>owner</name> <users>Aimee</users> </role-assignments> <role-assignments> <name>manager</name> </role-assignments> <role-assignments> <name>supplier</name> <groups>Lenovo</groups> </role-assignments> </case-role-assignment-list>
在以下端点上使用
PUT
请求将Cami
用户分配给manager
角色:/server/containers/{id}/cases/instances/{caseId}/roles/{caseRoleName}
在 Swagger 客户端请求中包含以下信息:
表 40.3. 参数 Name 描述 id
itorders
caseId
IT-0000000001
caseRoleName
Manager
user
Cami
点 Execute。
再次从第一步执行
GET
请求,以检查manager
角色现在是否已分配给Cami
:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <case-role-assignment-list> <role-assignments> <name>owner</name> <users>Aimee</users> </role-assignments> <role-assignments> <name>manager</name> <users>Cami</users> </role-assignments> <role-assignments> <name>supplier</name> <groups>Lenovo</groups> </role-assignments> </case-role-assignment-list>