updateIntegrationResponse method

Future<UpdateIntegrationResponseResponse> updateIntegrationResponse({
  1. required String apiId,
  2. required String integrationId,
  3. required String integrationResponseId,
  4. ContentHandlingStrategy? contentHandlingStrategy,
  5. String? integrationResponseKey,
  6. Map<String, String>? responseParameters,
  7. Map<String, String>? responseTemplates,
  8. String? templateSelectionExpression,
})

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);
}