All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awssdk.services.apigateway.model.GetMethodResponseResponse Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon API Gateway module holds the client classes that are used for communicating with Amazon API Gateway

There is a newer version: 2.0.0-preview-11
Show newest version
/*
 * Copyright 2013-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */

package software.amazon.awssdk.services.apigateway.model;

import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Generated;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

/**
 * 

* Represents a method response of a given HTTP status code returned to the client. The method response is passed from * the back end through the associated integration response that can be transformed using a mapping template. *

*
*

*

Example: A MethodResponse instance of an API

*
Request
*

* The example request retrieves a MethodResponse of the 200 status code. *

* *
 * GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200 HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160603T222952Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160603/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
 * 
* *
Response
*

* The successful response returns 200 OK status and a payload as follows: *

* *
 * { "_links": { "curies": { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html", "name": "methodresponse", "templated": true }, "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200", "title": "200" }, "methodresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200" }, "methodresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200" } }, "responseModels": { "application/json": "Empty" }, "responseParameters": { "method.response.header.Content-Type": false }, "statusCode": "200" }
 * 
*

*

*/ @Generated("software.amazon.awssdk:codegen") public class GetMethodResponseResponse extends APIGatewayResponse implements ToCopyableBuilder { private final String statusCode; private final Map responseParameters; private final Map responseModels; private GetMethodResponseResponse(BuilderImpl builder) { super(builder); this.statusCode = builder.statusCode; this.responseParameters = builder.responseParameters; this.responseModels = builder.responseModels; } /** *

* The method response's status code. *

* * @return The method response's status code. */ public String statusCode() { return statusCode; } /** *

* A key-value map specifying required or optional response parameters that Amazon API Gateway can send back to the * caller. A key defines a method response header and the value specifies whether the associated method response * header is required or not. The expression of the key must match the pattern * method.response.header.{name}, where name is a valid and unique header name. Amazon API * Gateway passes certain integration response data to the method response headers specified here according to the * mapping you prescribe in the API's IntegrationResponse. The integration response data that can be mapped * include an integration response header expressed in integration.response.header.{name}, a static * value enclosed within a pair of single quotes (e.g., 'application/json'), or a JSON expression from * the back-end response payload in the form of integration.response.body.{JSON-expression}, where * JSON-expression is a valid JSON expression without the $ prefix.) *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

* * @return A key-value map specifying required or optional response parameters that Amazon API Gateway can send back * to the caller. A key defines a method response header and the value specifies whether the associated * method response header is required or not. The expression of the key must match the pattern * method.response.header.{name}, where name is a valid and unique header name. * Amazon API Gateway passes certain integration response data to the method response headers specified here * according to the mapping you prescribe in the API's IntegrationResponse. The integration response * data that can be mapped include an integration response header expressed in * integration.response.header.{name}, a static value enclosed within a pair of single quotes * (e.g., 'application/json'), or a JSON expression from the back-end response payload in the * form of integration.response.body.{JSON-expression}, where JSON-expression is a * valid JSON expression without the $ prefix.) */ public Map responseParameters() { return responseParameters; } /** *

* Specifies the Model resources used for the response's content-type. Response models are represented as a * key/value map, with a content-type as the key and a Model name as the value. *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

* * @return Specifies the Model resources used for the response's content-type. Response models are * represented as a key/value map, with a content-type as the key and a Model name as the value. */ public Map responseModels() { return responseModels; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + Objects.hashCode(statusCode()); hashCode = 31 * hashCode + Objects.hashCode(responseParameters()); hashCode = 31 * hashCode + Objects.hashCode(responseModels()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof GetMethodResponseResponse)) { return false; } GetMethodResponseResponse other = (GetMethodResponseResponse) obj; return Objects.equals(statusCode(), other.statusCode()) && Objects.equals(responseParameters(), other.responseParameters()) && Objects.equals(responseModels(), other.responseModels()); } @Override public String toString() { return ToString.builder("GetMethodResponseResponse").add("StatusCode", statusCode()) .add("ResponseParameters", responseParameters()).add("ResponseModels", responseModels()).build(); } public Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "statusCode": return Optional.of(clazz.cast(statusCode())); case "responseParameters": return Optional.of(clazz.cast(responseParameters())); case "responseModels": return Optional.of(clazz.cast(responseModels())); default: return Optional.empty(); } } public interface Builder extends APIGatewayResponse.Builder, CopyableBuilder { /** *

* The method response's status code. *

* * @param statusCode * The method response's status code. * @return Returns a reference to this object so that method calls can be chained together. */ Builder statusCode(String statusCode); /** *

* A key-value map specifying required or optional response parameters that Amazon API Gateway can send back to * the caller. A key defines a method response header and the value specifies whether the associated method * response header is required or not. The expression of the key must match the pattern * method.response.header.{name}, where name is a valid and unique header name. Amazon * API Gateway passes certain integration response data to the method response headers specified here according * to the mapping you prescribe in the API's IntegrationResponse. The integration response data that can * be mapped include an integration response header expressed in integration.response.header.{name} * , a static value enclosed within a pair of single quotes (e.g., 'application/json'), or a JSON * expression from the back-end response payload in the form of * integration.response.body.{JSON-expression}, where JSON-expression is a valid JSON * expression without the $ prefix.) *

* * @param responseParameters * A key-value map specifying required or optional response parameters that Amazon API Gateway can send * back to the caller. A key defines a method response header and the value specifies whether the * associated method response header is required or not. The expression of the key must match the pattern * method.response.header.{name}, where name is a valid and unique header name. * Amazon API Gateway passes certain integration response data to the method response headers specified * here according to the mapping you prescribe in the API's IntegrationResponse. The integration * response data that can be mapped include an integration response header expressed in * integration.response.header.{name}, a static value enclosed within a pair of single * quotes (e.g., 'application/json'), or a JSON expression from the back-end response * payload in the form of integration.response.body.{JSON-expression}, where * JSON-expression is a valid JSON expression without the $ prefix.) * @return Returns a reference to this object so that method calls can be chained together. */ Builder responseParameters(Map responseParameters); /** *

* Specifies the Model resources used for the response's content-type. Response models are represented as * a key/value map, with a content-type as the key and a Model name as the value. *

* * @param responseModels * Specifies the Model resources used for the response's content-type. Response models are * represented as a key/value map, with a content-type as the key and a Model name as the value. * @return Returns a reference to this object so that method calls can be chained together. */ Builder responseModels(Map responseModels); } static final class BuilderImpl extends APIGatewayResponse.BuilderImpl implements Builder { private String statusCode; private Map responseParameters; private Map responseModels; private BuilderImpl() { } private BuilderImpl(GetMethodResponseResponse model) { statusCode(model.statusCode); responseParameters(model.responseParameters); responseModels(model.responseModels); } public final String getStatusCode() { return statusCode; } @Override public final Builder statusCode(String statusCode) { this.statusCode = statusCode; return this; } public final void setStatusCode(String statusCode) { this.statusCode = statusCode; } public final Map getResponseParameters() { return responseParameters; } @Override public final Builder responseParameters(Map responseParameters) { this.responseParameters = MapOfStringToBooleanCopier.copy(responseParameters); return this; } public final void setResponseParameters(Map responseParameters) { this.responseParameters = MapOfStringToBooleanCopier.copy(responseParameters); } public final Map getResponseModels() { return responseModels; } @Override public final Builder responseModels(Map responseModels) { this.responseModels = MapOfStringToStringCopier.copy(responseModels); return this; } public final void setResponseModels(Map responseModels) { this.responseModels = MapOfStringToStringCopier.copy(responseModels); } @Override public GetMethodResponseResponse build() { return new GetMethodResponseResponse(this); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy