Включить CORS в AWS API Gateway с помощью aws-cli - PullRequest
0 голосов
/ 03 октября 2018

В настоящее время я пишу сценарий для программного включения CORS после добавления ресурса в конечную точку API на AWS API Gateway.После изучения функции пут-интеграция-ответ в течение нескольких часов.Я почти получил прорыв, но я получаю сообщение об ошибке:

An error occurred (BadRequestException) when calling the 
PutIntegrationResponse operation: Invalid mapping expression specified: 
Validation Result: warnings : [], errors : [No method response exists 
for method.]

Вот сценарий, который я использую для включения CORS:

aws apigateway put-integration-response --rest-api-id XXXXX --resource 
-id XXXX --http-method GET --status-code 200 --selection-pattern 200 -- 
response-parameters '{"method.reponse.header.Access-Control-Allow- 
Origin": "'"'*'"'", "method.response.header.Access-Control-Allow- 
Headers": "'"'integration.request.header.Authorization'"'"}'

Странная вещь, которую ябыло обнаружено, что документация AWS устарела с текущей версией aws-cli У меня много часов, чтобы исправить некоторые основные проблемы, возникшие у меня с вызовом API.

Буду благодарен за любые идеи.

Ура!Nyah

1 Ответ

0 голосов
/ 07 февраля 2019

В вашей команде AWS CLI обнаружена пара проблем для aws apigateway put-integration-response

  1. Произошла ошибка опечатки

method.reponse.header.Access-Control-Allow-Origin

Это должно быть:

   method.response.header.Access-Control-Allow-Origin
  1. Чтобы установить значение '*' в Access-Control-Allow-Origin, вам нужно использовать "'"'"'*'"'"'" вместо "'"'*'"'" В ответ-параметры, которые вы можете установить method.reponse.header.Access-Control-Allow-Origin, но не можете установить method.response.header.Access-Control-Allow-Headers
  2. Причина ошибки

Операция PutIntegrationResponse: указано неверное выражение отображения

потому что вы пытаетесь установить method.response.header.Access-Control-Allow-Headers в response-parameters

Ниже должна быть последняя команда CLI AWS

aws apigateway put-integration-response --rest-api-id XXXXX --resource-id XXXX --http-method GET --status-code 200 --selection-pattern 200 
--response-parameters '{"method.reponse.header.Access-Control-Allow-Origin": "'"'"'*'"'"'"}'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...