API HTTP Gateway path rewrite question

0

Hi, I have API HTTP Gateway with ALB backends and I'm trying to migrate from

API Gateway -> internet-faced ALB (using HTTP URI integration) to API Gateway -> VPC link -> internal ALB.

My routes look like "/app1/{proxy+}". and in the first case, I used "https://app1.example.com/{proxy}", which rewrites "api.example.com/v1/app1/user/add" to "https://app1.example.com/user/add". Now I'd like to do the same rewrite with VPC link integration and I couldn't find a way to do that. Rewriting the path with "$request.path" giving me "/app1/user/add", and "$request.path.proxy+" giving me "/v1/app1/user/add".

asked 2 years ago450 views
1 Answer
1
Accepted Answer

Hello,

Thank you for reaching out to us and sharing the detailed use-case.

The correct mapping parameter to overwrite the path would be as below :

/$request.path.proxy

Using "$request.path.proxy+" will give you "/v1/app1/user/add" as path as it is a catch all greedy path variable. This can be verified using context variable $context.path in access logging.

The correct way is using "$request.path.proxy" [1] which will give you the value "user/add" as path for the integration which is partially correct as it will throw 4xx error at the backend due to the missing initial "/".

Therefore, using "/$request.path.proxy+" will give you the proper value "/user/add" as path output which is suits your use-case. Please let me know if you still face any issues after implementing my above suggestion.

References: [1] https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-http.html

AWS
SUPPORT ENGINEER
answered 2 years ago
profile picture
EXPERT
reviewed 15 days ago
  • Many thanks! BTW, I think there is a typo: 'Therefore, using "/$request.path.proxy+" will give you the proper value "/user/add"' should be 'proxy', not 'proxy+'.

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions