Can someone please help me debug this. From the logs, I can clearly see that the query string params are there in the request that Lambda gets but why is my controller action failing to be invoked ?
WebAPI controller action must be invoked when I execute the API with the query string parameters.
{
"resource": "/{proxy+}",
"path": "/api/v1/stock-exchange/nse/time-series/INFY",
"httpMethod": "GET",
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate, br",
"Host": "xxxxx-api.ap-south-1.amazonaws.com",
"Postman-Token": "65ae1a29-803a-4c17-8ede-6c02fa0c4578",
"User-Agent": "PostmanRuntime/7.29.0",
"X-Amzn-Trace-Id": "Root=1-626c2e55-707affc125a142870c4febb9",
"X-Forwarded-For": "106.201.80.99",
"X-Forwarded-Port": "443",
"X-Forwarded-Proto": "https"
},
"multiValueHeaders": {
"Accept": [
"*/*"
],
"Accept-Encoding": [
"gzip, deflate, br"
],
"Host": [
"xxxxxxxx-api.ap-south-1.amazonaws.com"
],
"Postman-Token": [
"65ae1a29-803a-4c17-8ede-6c02fa0c4578"
],
"User-Agent": [
"PostmanRuntime/7.29.0"
],
"X-Amzn-Trace-Id": [
"Root=1-626c2e55-707affc125a142870c4febb9"
],
"X-Forwarded-For": [
"106.201.80.99"
],
"X-Forwarded-Port": [
"443"
],
"X-Forwarded-Proto": [
"https"
]
},
"queryStringParameters": {
"end": "2022-04-30",
"start": "2022-04-26"
},
"multiValueQueryStringParameters": {
"end": [
"2022-04-30"
],
"start": [
"2022-04-26"
]
},
"pathParameters": {
"proxy": "api/v1/stock-exchange/nse/time-series/INFY"
},
"stageVariables": null,
"requestContext": {
"resourceId": "xxxxxxx",
"resourcePath": "/{proxy+}",
"httpMethod": "GET",
"extendedRequestId": "RWwtdF9OBcwFuTQ=",
"requestTime": "29/Apr/2022:18:28:37 +0000",
"path": "/dev/api/v1/stock-exchange/nse/time-series/INFY",
"accountId": "xxxxxxxxxx",
"protocol": "HTTP/1.1",
"stage": "dev",
"domainPrefix": "gs9bhhllvh",
"requestTimeEpoch": 1651256917914,
"requestId": "0ed0b37f-bfd1-4c26-b18c-9313388ad4b8",
"identity": {
"cognitoIdentityPoolId": null,
"accountId": null,
"cognitoIdentityId": null,
"caller": null,
"sourceIp": "106.201.80.99",
"principalOrgId": null,
"accessKey": null,
"cognitoAuthenticationType": null,
"cognitoAuthenticationProvider": null,
"userArn": null,
"userAgent": "PostmanRuntime/7.29.0",
"user": null
},
"domainName": "xxxxxxxxxxx-api.ap-south-1.amazonaws.com",
"apiId": "xxxxxxxxxx"
},
"body": null,
"isBase64Encoded": false
}
Executing the above API should invoke the WebAPI controller above but that doesn't happen and I get a 404 not found instead.
Describe the bug
I have a Lambda function which is running a .NET Core Web API app from a container image. I am using .NET 6 for the Lambda.
I am using Lambda proxy integration with API gateway.
One of my APIs takes two query string parameters named

startandend,I made the requisite changes so that API gateway can accept query string parameters as shown below,

When I try to invoke the above API from Postman, I get a 404 not found error. This is how the API looks,
GET https://xxxxxxx-api.ap-south-1.amazonaws.com/dev/api/v1/stock-exchange/nse/time-series/INFY?start=2022-04-26&end=2022-04-30Can someone please help me debug this. From the logs, I can clearly see that the query string params are there in the request that Lambda gets but why is my controller action failing to be invoked ?
Expected Behavior
WebAPI controller action must be invoked when I execute the API with the query string parameters.
Current Behavior
This is the output I get after setting
LAMBDA_NET_SERIALIZER_DEBUGto true.Reproduction Steps
GET https://xxxxxxx-api.ap-south-1.amazonaws.com/dev/api/v1/stock-exchange/nse/time-series/INFY?start=2022-04-26&end=2022-04-30Executing the above API should invoke the WebAPI controller above but that doesn't happen and I get a 404 not found instead.
Possible Solution
No response
Additional Information/Context
No response
AWS .NET SDK and/or Package version used
AWSSDK 2.3.55.2
Targeted .NET Platform
.NET 6
Operating System and version
Lambda