A water-utility billing API exposes a public JSON field named accountId, but the stable HTTP back end still expects customerNumber. The team wants the public contract to evolve without forking the Function. Which gateway capability should they use?
Select an answer to reveal the explanation.
Short Explanation
The gateway can act like a translator at the city desk—rename the form field on the way in and restore the public name on the way out so the clerk’s system never changes. Request and response transformation policies rewrite headers, query, or body so back ends stay stable while the public contract evolves. Transformations reshape the message; they are not a substitute for a real back end.
Full Explanation
Public API contracts often rename fields while stable HTTP or Functions back ends keep legacy names. OCI API Gateway addresses that with request and response transformation policies: rewrite headers, query parameters, or body fields inbound, and reshape the outbound message so callers still see accountId while the water-utility billing back end continues to expect customerNumber. Transformations let the civic contract evolve without forking the Function solely to rename a field, preserving one implementation behind the gateway.
Creating a second Functions application only to rename one JSON field adds operational cost and another runtime for a message-shaping problem the gateway already solves. Disabling request validation so mismatched names pass silently does not rename fields; it merely allows bad or unexpected payloads through and weakens the front door. Moving the billing API onto OCI Streaming partitions keyed by accountId changes the integration style entirely and does not perform synchronous request/response field mapping for a billing HTTP API.
Exam caveat: transformations reshape messages; they do not replace a real back-end implementation or fix broken business logic inside the billing service.
Operational check: send a public payload using accountId, confirm the back end receives customerNumber after the request transformation, and verify the client response restores the public field name after the response transformation.