The API Gateway has a default mediation flow for each API invocation. You can do additional custom mediation for the messages in the API Gateway by extending its mediation flow using a synapse mediation sequence. You can create a sequence either manually or using our , which you can extend by adding custom mediation sequences. You create a custom mediation sequences either manually or using WSO2 tooling support (i.e., WSO2 Developer Studio), and engage it per API or globally. then engage it per API or globally to all APIs of a specific tenant.
Note |
---|
Please note that following mediators are not usable within custom sequences since they are not supported by API Gateway custom medications.
|
Creating per-API extensions
The recommended way to to engage a mediation extension sequence per API is to upload an XML file through the registry and then engage it using the API Publisher. The following tutorials show tutorial shows how to do this: Change the Default Mediation Flow of API Requests.
Alternatively, you can name the mediation XML file in the pattern pattern <API_NAME>:v<VERSION>--<DIRECTION>
and save it directly in the following location:
- In the single-tenant mode, save the XML file in the
<APIM_HOME>/repository/deployment/server/synapse-configs/default/sequences
directory. - In the multi-tenant mode, save the XML file in the tenant's synapse sequence folder. For example, if tenant id is 1, then save it in
<API_Gateway>/repository/tenants/1/synapse-configs/default/sequences
folder.
In the naming pattern, the <DIRECTION>
can be In
or Out
. When it is In
, the extension is triggered on the in-flow (request path) and when it is is Out
, the extension is triggered on the out-flow (response path). To To change the default fault sequence, you can either modify the default sequence or write a custom fault sequence and engage it to APIs through the API Publisher.
Creating global extensions
You can also engage mediation extension sequences to all APIs in the API Manager of a specific tenant at once. To do that, simply create the XML with the naming pattern WSO2AMpattern WSO2AM--Ext--<DIRECTION>
and and save it in the <APIM_HOME>/repository/deployment/server/synapse-configs/default/sequences
directory.