<api xmlns="http://ws.apache.org/ns/synapse" name="APIName" API_NAME" context="/APIContextURI_PATH_OF_API" [hostname="stringHOST_NAME_OF_SERVER"] [port="integerPORT_NUMBER"]> <resource [methods="GET |POST |PUT |DELETE |OPTIONS |HEAD|PATCH"] [uri-template="URI_TEMPLATE"/|url-template"mapping="URL_MAPPING"]> <inSequence> ... </inSequence>? <outSequence> ... </outSequence>? <faultSequence> ... </faultSequence>? </resource> </api>
An API definition is identified by the <api> tag. Each API must specify a unique name and a unique URL context (see below). An API is made of one or more resources, which is a logical component of an API that can be accessed by making a particular type of HTTP call. For example:
<api name="API_1" context="/order"> <resource url-mapping="/list" inSequence="seq1" outSequence="seq2"/> </api>
Once a request is dispatched to a resource it will be mediated through the in-sequence of the resource. At the end of the in-sequence the request can be forwarded to a back-end application for further processing. Any responses coming from the back-end system are mediated through the out-sequence of the resource. You can also define a fault-sequence to handle any errors that may occur while mediating a message through a resource.