@Generated(value="jsii-pacmak/1.73.0 (build 6faeda3)",
date="2023-01-31T18:36:58.249Z")
public interface MethodOptions
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());
Modifier and Type | Interface and Description |
---|---|
static class |
MethodOptions.Builder
A builder for
MethodOptions |
static class |
MethodOptions.Jsii$Proxy
An implementation for
MethodOptions |
Modifier and Type | Method and Description |
---|---|
static MethodOptions.Builder |
builder() |
default java.lang.Boolean |
getApiKeyRequired()
Indicates whether the method requires clients to submit a valid API key.
|
default java.util.List<java.lang.String> |
getAuthorizationScopes()
A list of authorization scopes configured on the method.
|
default AuthorizationType |
getAuthorizationType()
Method authorization.
|
default IAuthorizer |
getAuthorizer()
If `authorizationType` is `Custom`, this specifies the ID of the method authorizer resource.
|
default java.util.List<MethodResponse> |
getMethodResponses()
The responses that can be sent to the client who calls the method.
|
default java.lang.String |
getOperationName()
A friendly operation name for the method.
|
default java.util.Map<java.lang.String,IModel> |
getRequestModels()
The models which describe data structure of request payload.
|
default java.util.Map<java.lang.String,java.lang.Boolean> |
getRequestParameters()
The request parameters that API Gateway accepts.
|
default IRequestValidator |
getRequestValidator()
The ID of the associated request validator.
|
default RequestValidatorOptions |
getRequestValidatorOptions()
Request validator options to create new validator Only one of `requestValidator` or `requestValidatorOptions` must be specified.
|
default java.lang.Boolean getApiKeyRequired()
Default: false
default java.util.List<java.lang.String> getAuthorizationScopes()
The scopes are used with a COGNITO_USER_POOLS authorizer to authorize the method invocation.
Default: - no authorization scopes
default AuthorizationType getAuthorizationType()
If you're using one of the authorizers that are available via the {@link Authorizer} class, such as {@link Authorizer#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 the {@link Authorizer} will result in an error.
Default: - open access unless `authorizer` is specified
default IAuthorizer getAuthorizer()
If specified, the value of authorizationType
must be set to Custom
default java.util.List<MethodResponse> getMethodResponses()
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.
default java.lang.String getOperationName()
For example, you can assign the OperationName of ListPets for the GET /pets method.
default java.util.Map<java.lang.String,IModel> getRequestModels()
When
combined with requestValidator
or requestValidatorOptions
, the service
will validate the API request payload before it reaches the API's Integration (including proxies).
Specify requestModels
as 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());
default java.util.Map<java.lang.String,java.lang.Boolean> getRequestParameters()
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
default IRequestValidator getRequestValidator()
Only one of requestValidator
or requestValidatorOptions
must be specified.
Works together with requestModels
or requestParameters
to validate
the request before it reaches integration like Lambda Proxy Integration.
Default: - No default validator
default RequestValidatorOptions getRequestValidatorOptions()
Works together with requestModels
or requestParameters
to validate
the request before it reaches integration like Lambda Proxy Integration.
Default: - No default validator
static MethodOptions.Builder builder()
MethodOptions.Builder
of MethodOptions