【问题标题】:Apigee rest endpoint path mapping to custom pathApigee 休息端点路径映射到自定义路径
【发布时间】:2019-12-08 13:06:15
【问题描述】:

我有休息端点 /admn_resource_manager。我创建了一个 apigee 代理来公开它。 我不想像这样向其他人公开它,因为我想要 /adminmanager 之类的东西。 有没有办法使用 Apigee 将 /adminmanager 映射到 /admn_resource_manager。

最终用户会使用http://someurl.apigee/adminmanager 而不是http://someurl.apigee/admn_resource_manager

我在 Apigee 中探索了 KeyValueMapoperation 和 AssignMessage。 我不确定这些是否是实现地图路径的正确选择。我也没有得到任何示例。

【问题讨论】:

标签: apigee apigee-baas apigee127


【解决方案1】:

我认为 Apigee 可以做到。

当我开始使用 Apigee 时,我已经从下图中学习并尝试理解。 (我认为是描述这个平台的主要概念)

从你的场景中,

  • 您可以指定希望客户端调用的 URL,可能是 someurl.apigee/adminmanager 或其他内容
  • Apigee 是一个中间层,也称为网关。当您收到客户的请求时,您可以管理您想要的任何内容。当然,包括将您的客户端传递给其他 URL,例如 someurl.apigee/admn_resource_manager 。 (您刚刚为该请求分配了新网址)

因为我也不是专家,所以下面的这个链接可以为你解释更多信息。

链接:Using Flow Variables

【讨论】:

    【解决方案2】:

    您认为执行此操作的方式是使用分配消息策略并使用 Set -> Path 元素。但此策略目前无法按设计用于重写代理的目标 URL。有关详细信息,请参阅Assign Message Guidance

    要将传入 URL 重写为不同的目标 URL,您可以使用分配消息策略在目标端点流中设置整个 URL (target.url),或者您可以使用 JavaScript 标注来设置它。我选择使用 JavaScript 标注,因为它在重写 URL 时提供了更多控制。

    这是我在 Github 上整理的 example project,您可以使用它来查看我是如何做到的。它使用 swapi.co api 作为目标端点。此代理使用分配消息和 JavaScript 标注策略来重写 URL。这里有一些关于它的细节......

    代理端点

    • 为要重命名的每个资源创建一个代理端点。
    • 您可以在此处设置分配消息策略以设置新路径后缀的变量。

    分配消息策略

    • 在每个代理端点的 PreFlow 上设置 targetPathSuffix 和 appendResourceIdToUrl(如果需要)变量。

    JavaScript 政策

    • 调用 URLRewrite.js 文件以执行 js 代码。
    • 在 TargetEndpoints PreFlow 上设置并在每个请求上执行
    • 使用分配消息策略中设置的变量来更改 target.url 变量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-29
      • 1970-01-01
      • 1970-01-01
      • 2015-04-19
      • 2014-07-27
      • 2021-12-28
      相关资源
      最近更新 更多