Amazon API Gateway で Endpoint URL のドメイン名によるエラーが起きることがある

やりたかったこと

https://hogehoge.execute-api.ap-northeast-1.amazonaws.com/sample/api/product/{id}

というURLにアクセスすると、HTTP Proxy で設定した別のサーバの

https://example.com/api/product/{id}

へリクエストが飛ぶこと。

設定したこと

/api/product/{id} という Resource を作って、それを HTTP Proxy に /api/product/{id} としたかったら、[Integration Request] で、Endpoint URL として http://example.com/api/users/{id} を設定して、 [URL Path Parameters] で Name: id, Mapped from: method.request.path.id とする。

普通のドメインならこれで設定完了。

今回起きたこと

で、HTTP Proxy で設定するドメインに新しめのTLDを設定したら、うまく動かない(保存できない)という現象があった。紛らわしかったのが、

/api/products

という Resource は設定できるのに、{id} というパラメータをつけて

/api/products/{id}

とするとだめだった。

“Invalid HTTP endpoint specified for URI” と言われたら、ドメインを example.com にして試してみると良いかもしれない。

Amazon API Gateway で Endpoint URL のドメイン名によるエラーが起きることがある