如何在Apigee中验证输入并引发故障

时间:2014-03-31 19:43:14

标签: apigee

如果未提供输入或者格式不正确,如何验证APIGee端点的输入并引发故障?

例如:我期望在querystring中传递一个值。如果没有提供,我应该返回错误响应,而不是让它通过后端服务并在那里失败。

谢谢, 迪帕克

1 个答案:

答案 0 :(得分: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>