putIntegrationResponse method

Future<IntegrationResponse> putIntegrationResponse({
  1. required String httpMethod,
  2. required String resourceId,
  3. required String restApiId,
  4. required String statusCode,
  5. ContentHandlingStrategy? contentHandling,
  6. Map<String, String>? responseParameters,
  7. Map<String, String>? responseTemplates,
  8. String? selectionPattern,
})

Represents a put integration.

May throw UnauthorizedException. May throw NotFoundException. May throw LimitExceededException. May throw BadRequestException. May throw TooManyRequestsException. May throw ConflictException.

Parameter httpMethod : Required Specifies a put integration response request's HTTP method.

Parameter resourceId : Required Specifies a put integration response request's resource identifier.

Parameter restApiId : Required The string identifier of the associated RestApi.

Parameter statusCode : Required Specifies the status code that is used to map the integration response to an existing MethodResponse.

Parameter contentHandling : 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 method response without modification.

Parameter responseParameters : A key-value map specifying response parameters that are passed to the method response from the back end. 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.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name must be a valid and unique response header name and JSON-expression a valid JSON expression without the $ prefix.

Parameter responseTemplates : Specifies a put integration response's templates.

Parameter selectionPattern : Specifies the selection pattern of a put integration response.

Implementation

Future<IntegrationResponse> putIntegrationResponse({
  required String httpMethod,
  required String resourceId,
  required String restApiId,
  required String statusCode,
  ContentHandlingStrategy? contentHandling,
  Map<String, String>? responseParameters,
  Map<String, String>? responseTemplates,
  String? selectionPattern,
}) async {
  ArgumentError.checkNotNull(httpMethod, 'httpMethod');
  ArgumentError.checkNotNull(resourceId, 'resourceId');
  ArgumentError.checkNotNull(restApiId, 'restApiId');
  ArgumentError.checkNotNull(statusCode, 'statusCode');
  final $payload = <String, dynamic>{
    if (contentHandling != null) 'contentHandling': contentHandling.toValue(),
    if (responseParameters != null) 'responseParameters': responseParameters,
    if (responseTemplates != null) 'responseTemplates': responseTemplates,
    if (selectionPattern != null) 'selectionPattern': selectionPattern,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'PUT',
    requestUri:
        '/restapis/${Uri.encodeComponent(restApiId)}/resources/${Uri.encodeComponent(resourceId)}/methods/${Uri.encodeComponent(httpMethod)}/integration/responses/${Uri.encodeComponent(statusCode)}',
    exceptionFnMap: _exceptionFns,
  );
  return IntegrationResponse.fromJson(response);
}