Как проверить ввод и вызвать ошибку в Apigee

Как я могу проверить ввод в конечную точку APIGee и вызвать ошибку, если ввод не предоставлен или если он имеет недопустимый формат?

Например: я ожидаю, что значение будет передано в строке запроса. Если он не предоставлен, я должен вернуть ответ об ошибке вместо того, чтобы позволить ему пройти через внутреннюю службу и там потерпеть неудачу.

Спасибо, Дипак


person user3267925    schedule 31.03.2014    source источник


Ответы (1)


Для этого добавьте условие в политику RaiseFault.

Например:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ProxyEndpoint name="default">
    <Description/>
    <Flows/>
    <PreFlow name="PreFlow">
        <Request>
            <Step>
                <FaultRules/>
                <Name>RaiseFault-1</Name>
                <Condition>request.queryparam.myParam == null</Condition>
            </Step>
        </Request>
        <Response/>
    </PreFlow>
    <HTTPProxyConnection>
        <BasePath>/myBasePath</BasePath>
        <VirtualHost>default</VirtualHost>
        <VirtualHost>secure</VirtualHost>
    </HTTPProxyConnection>
    <RouteRule name="default">
        <TargetEndpoint>default</TargetEndpoint>
    </RouteRule>
    <PostFlow name="PostFlow">
        <Request/>
        <Response/>
    </PostFlow>
</ProxyEndpoint>
person Randy Solton    schedule 31.03.2014
comment
Урок 7. Принудительное исполнение запроса на community.apigee.com/learn/create-and-manage-apis/ также полезен. - person pulkitsinghal; 25.04.2014