JIRA: PLAT-4843
Overview
You can apply transformations the requests and responses in your Proxy APIs through the API Policies tab. Request and response transformation enables you modify the contents of your APIs using key/value pairs in the following ways:
- Request transformation: use this policy to transform a header, body, or the query string in the upstream request before it is forwarded to the Proxy API endpoint.
- Response transformation: use this policy to transform a header or JSON content in the API response that is returned to the caller.
Supported Operation Types
You can perform the following operations when apply the transformation policy:
- Add key/value pairs
- Append a key/value pair to an existing key/value pair
- Remove a key/value pair
- Rename an existing key
- Replace a key/value pair
Order of Operations
The following table lists the order of operations for requests and response transformations:
Order | Request Transformer | Response Transformer |
---|---|---|
1 | Remove | Remove |
2 | Rename | Replace |
3 | Replace | Add |
4 | Add | Append |
5 | Append | N/A |
Limitations
You cannot apply transformations to the Authorization header of a request.
Transform Requests
You can transform contents in the API requests for the following situations:
- To obfuscate sensitive information in the endpoint, like a data key, from the API consumer.
- To swap an existing bearer token with a new one.
- To pass Pipeline parameters to an API that does not support the parameters in the body.
Request Transformations
This operation is not viewable in the Developer Portal or API Manager.
Transform Responses
You can transform contents in the API responses for the following situations:
- To add parameters for clarifying information.
- To expose the original query string to the consumer.
- To rename or replace sensitive content (like data keys or bearer tokens) not intended to be viewed by the API consumer.
Examples
The following image shows the Response Transformer being set to add the content-type key totalNumbers to the header:
The following image shows the content-type key totalNumbers added to the response header after the Proxy is executed in the Developer Portal through the Try it functionality.