如果未提供输入或者格式不正确,如何验证APIGee端点的输入并引发故障?
例如:我期望在querystring中传递一个值。如果没有提供,我应该返回错误响应,而不是让它通过后端服务并在那里失败。
谢谢, 迪帕克
答案 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>