搜索

40.5. 使用 REST API 修改运行时的大小写角色分配

download PDF

您可以使用 REST API 或 Swagger 应用在运行时更改问题单实例角色分配。在案例定义中定义角色,并在问题单生命周期中分配到任务。角色无法在运行时改变,因为它们是预定义的,但您可以更改分配给角色的行为,以更改负责执行案例任务的人员。

以下流程包含基于 IT_Orders 示例项目的示例。您可以使用 Swagger 应用或任何其他 REST API 客户端或 Curl 中的相同的 REST API 端点。

先决条件

  • IT 订单案例实例已使用 所有者经理 和供应商 角色开始。

流程

  1. 使用以下端点上的 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>
  2. 要更改分配给 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

  3. 再次从第一步执行 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>
  4. 在以下端点上使用 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

  5. 再次从第一步执行 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>
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.