AWS Certified Developer Associate (#200)

A company is creating a REST service using an Amazon API Gateway with AWS Lambda integration. The service must run different versions for testing purposes. What would be the BEST way to accomplish this?

Use an X
header to denote which version is being called and pass that header to the Lambda function(s)
Create an API Gateway Lambda authorizer to route API clients to the correct API version
Create an API Gateway resource policy to isolate versions and provide context to the Lambda function(s)
Deploy the API versions as unique stages with unique endpoints and use stage variables to provide further context