updateIntegrationResponse method
Updates an IntegrationResponses.
May throw NotFoundException. May throw TooManyRequestsException. May throw BadRequestException. May throw ConflictException.
Parameter apiId
:
The API identifier.
Parameter integrationId
:
The integration ID.
Parameter integrationResponseId
:
The integration response ID.
Parameter contentHandlingStrategy
:
Supported only for WebSocket APIs. Specifies how to handle response
payload content type conversions. Supported values are CONVERT_TO_BINARY
and CONVERT_TO_TEXT, with the following behaviors:
CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.
CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.
If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
Parameter integrationResponseKey
:
The integration response key.
Parameter responseParameters
:
A key-value map specifying response parameters that are passed to the
method response from the backend. The key is a method response header
parameter name and the mapped value is an integration response header
value, a static value enclosed within a pair of single quotes, or a JSON
expression from the integration response body. The mapping key must match
the pattern of method.response.header.
, where name is a valid and unique header name. The mapped non-static
value must match the pattern of
integration.response.header.
or integration.response.body.
, where
is a valid and unique response header name and
is a valid JSON expression without the $ prefix.
Parameter responseTemplates
:
The collection of response templates for the integration response as a
string-to-string map of key-value pairs. Response templates are
represented as a key/value map, with a content-type as the key and a
template as the value.
Parameter templateSelectionExpression
:
The template selection expression for the integration response. Supported
only for WebSocket APIs.
Implementation
Future<UpdateIntegrationResponseResponse> updateIntegrationResponse({
required String apiId,
required String integrationId,
required String integrationResponseId,
ContentHandlingStrategy? contentHandlingStrategy,
String? integrationResponseKey,
Map<String, String>? responseParameters,
Map<String, String>? responseTemplates,
String? templateSelectionExpression,
}) async {
ArgumentError.checkNotNull(apiId, 'apiId');
ArgumentError.checkNotNull(integrationId, 'integrationId');
ArgumentError.checkNotNull(integrationResponseId, 'integrationResponseId');
final $payload = <String, dynamic>{
if (contentHandlingStrategy != null)
'contentHandlingStrategy': contentHandlingStrategy.toValue(),
if (integrationResponseKey != null)
'integrationResponseKey': integrationResponseKey,
if (responseParameters != null) 'responseParameters': responseParameters,
if (responseTemplates != null) 'responseTemplates': responseTemplates,
if (templateSelectionExpression != null)
'templateSelectionExpression': templateSelectionExpression,
};
final response = await _protocol.send(
payload: $payload,
method: 'PATCH',
requestUri:
'/v2/apis/${Uri.encodeComponent(apiId)}/integrations/${Uri.encodeComponent(integrationId)}/integrationresponses/${Uri.encodeComponent(integrationResponseId)}',
exceptionFnMap: _exceptionFns,
);
return UpdateIntegrationResponseResponse.fromJson(response);
}