После нескольких проб и ошибок, я обнаружил, что следующий шаблон CloudFormation сниппет будет производить эквивалентный метод OPTIONS по сравнению с мастером консоли CORS:
OptionsMethod:
Type: AWS::ApiGateway::Method
Properties:
AuthorizationType: NONE
RestApiId:
Ref: MyApi
ResourceId:
Ref: MyResourceOnWhichToEnableCORS
HttpMethod: OPTIONS
Integration:
IntegrationResponses:
- StatusCode: 200
ResponseParameters:
method.response.header.Access-Control-Allow-Headers: "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token'"
method.response.header.Access-Control-Allow-Methods: "'POST,OPTIONS'"
method.response.header.Access-Control-Allow-Origin: "'*'"
ResponseTemplates:
application/json: ''
PassthroughBehavior: WHEN_NO_MATCH
RequestTemplates:
application/json: '{"statusCode": 200}'
Type: MOCK
MethodResponses:
- StatusCode: 200
ResponseModels:
application/json: 'Empty'
ResponseParameters:
method.response.header.Access-Control-Allow-Headers: false
method.response.header.Access-Control-Allow-Methods: false
method.response.header.Access-Control-Allow-Origin: false
* Примечание 1: Это является примером принимая значения по умолчанию для POST. Очевидно, вам нужно будет обновить Access-Control-Allow-Methods
, чтобы включить нужные значения.
* Примечание 2: Претензии к команде AWS CloudFormation, которая недавно представила поддержку YAML. Если вам нужно конвертировать в/из YAML/JSON, я нашел этот сайт удобным: http://www.json2yaml.com/
не должен быть логическим в конце, а не 'true' вместо' false'? –