【问题标题】:Apigee fault handling for CLASSIFICATION_FAILURECLASSIFICATION_FAILURE 的 Apigee 故障处理
【发布时间】:2014-07-19 14:46:45
【问题描述】:

在 Apigee 中,是否可以使用故障处理 - 指定 FaultRule 和 RaiseFault 政策来处理并提供自定义消息:

{
    "fault": {
        "faultstring": "Not Found",
        "detail": {
            "errorcode": "CLASSIFICATION_FAILURE"
        }
    }
}

如果可以做到这一点,故障规则的“条件”是否应该是“fault.name = "CLASSIFICATION_FAILURE"'?我试过了,但它不起作用。

【问题讨论】:

    标签: apigee


    【解决方案1】:

    CLASSIFICATION_FAILURE 是系统级故障,无法找到给定 URL/URI 的 API 代理。该请求甚至不会到达 API 代理(因此是策略)——这是系统的精确抱怨。 所以你不想处理这样的错误。

    解决这种情况的另一种方法是使用基本路径 /** 的 catch all API 代理,当没有特定的 URL 匹配时将调用该代理。您可以在此代理中生成自定义消息 - 这可以是您希望在分类失败时发送的消息。

    【讨论】:

    • 感谢您的回复和关于包罗万象的 API 代理的建议,我可以使用 AssignMessage 策略实现并设置自定义响应。
    【解决方案2】:

    Srikanth 在 2014 年 5 月 30 日的回答只是部分正确。使用基本路径 /** 对我们不起作用。相反,我们必须使用 basepath = /

    创建一个 api 代理

    在代理内部,我们在 Preflow 中定义了一个 RaiseFault,就是这样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-30
      • 1970-01-01
      • 1970-01-01
      • 2010-09-22
      相关资源
      最近更新 更多