<resource methods="GET" uri-template="/code">
<inSequence>
<property expression="get-property('uri.var.number')" name="uri.var.number" scope="default" type="STRING"/>// this is the property to store the value
<call>
<endpoint> //calling the endpoint
<http method="GET" uri-template="https://jsonplaceholder.typicode.com/posts/{uri.var.number}"/>
</endpoint>
</call>
<respond/>
</inSequence>
<outSequence/>
</resource>
这是我试图做的路径参数验证。
如果uri.var.number
属性为空,则要求发送错误响应。我们可以添加一个Filter中介,如下所示进行验证,然后执行所需的操作。
下面给出的是一个示例中介序列块,用于过滤并在属性不存在的情况下返回JSON错误响应
<filter source="boolean(get-property('uri.var.number'))" regex="false">
<then>
<!-- respond back with an error message -->
<payloadFactory media-type="json">
<format>{"error": "missing number"}</format>
<args></args>
</payloadFactory>
<!-- respond mediator to respond back to the client -->
<respond />
</then>
<else>
<!-- continue with the API invocation -->
</else>
</filter>