APIGEE API Proxy - Как предотвратить попадание запроса в цель на основе содержимого тела - PullRequest
0 голосов
/ 24 мая 2019

Я пытаюсь предотвратить попадание запросов, содержащих полезную нагрузку json с определенным значением атрибута, на мой целевой бэкэнд.

Например:

{"status":"pending"}

Если статус «ожидающий»Я не хочу, чтобы он попадал в мой целевой бэкэнд, пока не увижу статус «доставлено».

Каков наилучший способ сделать это?

У меня есть шаг в предварительном потоке конечной точки прокси, который использует политику javascript для определения атрибута и его значения.Теперь, когда я знаю это, как я могу предотвратить попадание запроса в целевой бэкэнд и вместо этого просто вернуть 200 ok запрашивающей стороне?

1 Ответ

0 голосов
/ 02 июня 2019

Поскольку у вас уже есть 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>

`

Надеждаэто помогает ...

...