Software AG Products 10.5 | Using API Gateway | REST APIs in API Gateway | Backward compatibility support for REST APIs
 
Backward compatibility support for REST APIs
All the REST APIs in API Gateway are backward compatible. The backward compatibility handles payload transformation from the previous version to the current version of API Gateway. If you want to use version specific payload then use the corresponding endpoint. For example, if you want to use the 10.1 payload to create an asset, then you have to use http://hostname:port/rest/apigateway/v101/asset
With the backward compatibility support, API Gateway exposes the following REST end points with the version number mentioned.
*http://hostname:port/rest/apigateway/v101/assetsspecificURI
Use this URI if you want to access the latest API Gateway with 10.1 version specific request and response.
The following policies have conflicting behavior compared to earlier versions:
*In 10.1 invokeESB templateKey is used to create Invoke webMethods IS policy that can be used for both request and response transformation stage. From 10.2 version, the invokeESB templateKey is changed to requestInvokeESB and responseInvokeESB for request and response transformation stage respectively. So when you send a payload with older version (10.1), it is not possible to create the correct policy in latest version. To solve this, you have to update the payload, and send the appropriate templateKey in 10.1 payload. For example if you are creating invoke webMethods IS policy for request transformation, then you have to specify requestInvokeESB templateKey instead of invokeESB templateKey.
*In 10.1 xsltTransformation is used to create XSLT Transformation policy that can be used for both request and response transformation stage. From 10.2 version, the xsltTransformation templateKey is changed to requestTransformation and responseTransformation for request and response transformation stage respectively.To solve this, you have to update the payload, and send the appropriate templateKey in 10.1 payload. For example if you are creating XSLT Transformation policy for request transformation, then you have to specify requestTransformation templateKey instead of xsltTransformation templateKey.
*http://hostname:port/rest/apigateway/v102/assetsspecificURI
Use this URI if you want to access the latest API Gateway with 10.2 version specific request and response.
*http://hostname:port/rest/apigateway/v103/assetsspecificURI
Use this URI if you want to access the latest API Gateway with 10.3 version specific request and response.
*http://hostname:port/rest/apigateway/assetsspecificURI
When there is no version mentioned, the URI, by default, accesses the latest version specific request and response.
Note:
The archive REST endpoint to export assets does not give a version specific archive. It always gives the archive with latest version regardless of the version specified in the REST endpoint.