APIGEE API代理-如何根据正文内容阻止请求到达目标

时间:2019-05-24 16:56:14

标签: apigee

我试图阻止包含具有特定属性值的json有效负载的请求到达我的目标后端。

例如:

{"status":"pending"}

如果状态为“待处理”,在看到状态为“已交付”之前,我不希望它打到目标后端。

最好的方法是什么?

我在代理端点预流程中有一个步骤,该步骤使用javascript策略来标识属性及其值。现在我知道了,如何防止请求到达目标后端,而只是向请求者返回200 ok?

1 个答案:

答案 0 :(得分:0)

由于您已经有了JS来标识属性,因此现在在JS策略之后的预流程中有一个策略“ Raise-Fault-Attribute”。

<Step>
    <Condition>(Status is pending) or (Status is null)</Condition>
     <Name>Raise-Fault-Attribute</Name>
</Step>

`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <RaiseFault async="false" continueOnError="false" enabled="true" name="Raise-Fault-Attribute">
<DisplayName>Raise Fault Attribute</DisplayName>
<Properties/>
<FaultResponse>
    <Set>
        <Headers/>
        <Payload contentType="text/xml">
           ....
        </Payload>
        <StatusCode>500</StatusCode>
        <ReasonPhrase>Server Error</ReasonPhrase>
    </Set>
</FaultResponse>
<IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
</RaiseFault>

`

希望这对您有帮助...