putIntegrationResponse method
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.
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);
}