Interface MethodOptions
- All Superinterfaces:
software.amazon.jsii.JsiiSerializable
- All Known Implementing Classes:
MethodOptions.Jsii$Proxy
RestApi api;
Function userLambda;
Model userModel = api.addModel("UserModel", ModelOptions.builder()
.schema(JsonSchema.builder()
.type(JsonSchemaType.OBJECT)
.properties(Map.of(
"userId", JsonSchema.builder()
.type(JsonSchemaType.STRING)
.build(),
"name", JsonSchema.builder()
.type(JsonSchemaType.STRING)
.build()))
.required(List.of("userId"))
.build())
.build());
api.root.addResource("user").addMethod("POST",
new LambdaIntegration(userLambda), MethodOptions.builder()
.requestModels(Map.of(
"application/json", userModel))
.build());
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final classA builder forMethodOptionsstatic final classAn implementation forMethodOptions -
Method Summary
Modifier and TypeMethodDescriptionstatic MethodOptions.Builderbuilder()default BooleanIndicates whether the method requires clients to submit a valid API key.A list of authorization scopes configured on the method.default AuthorizationTypeMethod authorization.default IAuthorizerIfauthorizationTypeisCustom, this specifies the ID of the method authorizer resource.default List<MethodResponse>The responses that can be sent to the client who calls the method.default StringA friendly operation name for the method.The models which describe data structure of request payload.The request parameters that API Gateway accepts.default IRequestValidatorThe ID of the associated request validator.default RequestValidatorOptionsRequest validator options to create new validator Only one ofrequestValidatororrequestValidatorOptionsmust be specified.Methods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Method Details
-
getApiKeyRequired
Indicates whether the method requires clients to submit a valid API key.Default: false
-
getAuthorizationScopes
A list of authorization scopes configured on the method.The scopes are used with a COGNITO_USER_POOLS authorizer to authorize the method invocation.
Default: - no authorization scopes
-
getAuthorizationType
Method authorization. If the value is set ofCustom, anauthorizermust also be specified.If you're using one of the authorizers that are available via the
Authorizerclass, such asAuthorizer#token(), it is recommended that this option not be specified. The authorizer will take care of setting the correct authorization type. However, specifying an authorization type using this property that conflicts with what is expected by theAuthorizerwill result in an error.Default: - open access unless `authorizer` is specified
-
getAuthorizer
IfauthorizationTypeisCustom, this specifies the ID of the method authorizer resource.If specified, the value of
authorizationTypemust be set toCustom -
getMethodResponses
The responses that can be sent to the client who calls the method.Default: None This property is not required, but if these are not supplied for a Lambda proxy integration, the Lambda function must return a value of the correct format, for the integration response to be correctly mapped to a response to the client.
-
getOperationName
A friendly operation name for the method.For example, you can assign the OperationName of ListPets for the GET /pets method.
-
getRequestModels
The models which describe data structure of request payload.When combined with
requestValidatororrequestValidatorOptions, the service will validate the API request payload before it reaches the API's Integration (including proxies). SpecifyrequestModelsas key-value pairs, with a content type (e.g.'application/json') as the key and an API Gateway Model as the value.Example:
RestApi api; Function userLambda; Model userModel = api.addModel("UserModel", ModelOptions.builder() .schema(JsonSchema.builder() .type(JsonSchemaType.OBJECT) .properties(Map.of( "userId", JsonSchema.builder() .type(JsonSchemaType.STRING) .build(), "name", JsonSchema.builder() .type(JsonSchemaType.STRING) .build())) .required(List.of("userId")) .build()) .build()); api.root.addResource("user").addMethod("POST", new LambdaIntegration(userLambda), MethodOptions.builder() .requestModels(Map.of( "application/json", userModel)) .build()); -
getRequestParameters
The request parameters that API Gateway accepts.Specify request parameters as key-value pairs (string-to-Boolean mapping), with a source as the key and a Boolean as the value. The Boolean specifies whether a parameter is required. A source must match the format method.request.location.name, where the location is querystring, path, or header, and name is a valid, unique parameter name.
Default: None
-
getRequestValidator
The ID of the associated request validator.Only one of
requestValidatororrequestValidatorOptionsmust be specified. Works together withrequestModelsorrequestParametersto validate the request before it reaches integration like Lambda Proxy Integration.Default: - No default validator
-
getRequestValidatorOptions
Request validator options to create new validator Only one ofrequestValidatororrequestValidatorOptionsmust be specified.Works together with
requestModelsorrequestParametersto validate the request before it reaches integration like Lambda Proxy Integration.Default: - No default validator
-
builder
- Returns:
- a
MethodOptions.BuilderofMethodOptions
-